ExecStart 运行命令 npm run start 失败但在目录中运行它有效

问题描述 投票:0回答:0

这是我的服务文件:

[Unit]
Description=Nodejs Server

[Service]
WorkingDirectory=/home/projects
ExecStart=npm run start
Restart=always

[Install]
WantedBy=multi-user.target
After=multi-user.target

错误是:

SyntaxError: Unexpected token '.'
 at wrapSafe (internal/modules/cjs/loader.js:915:16)
 at Module._compile (internal/modules/cjs/loader.js:963:27)
 at Object.Module._extensions..js (internal/modules/cjs/loader.j>
 at Module.load (internal/modules/cjs/loader.js:863:32)
 at Function.Module._load (internal/modules/cjs/loader.js:708:14)
 at Module.require (internal/modules/cjs/loader.js:887:19)
 at require (internal/modules/cjs/helpers.js:74:18)
 at Object.<anonymous> (/home/projects/node_modules/web3-core/lib/extend.js:24:14)>
 at Module._compile (internal/modules/cjs/loader.js:999:30)
 at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10>
[nodemon] app crashed - waiting for file changes before starting...

几个月前它一直运行良好,直到我在 2 天前在我的 package.json 中添加了一个依赖项,特别是 web3。

奇怪的是,当我进入我的项目目录并运行 npm run start 时,它工作正常。

不确定我的服务文件怎么可能产生依赖性问题,但是手动运行服务器没有问题。

自从我遇到这个问题后就一直在使用 tmux。

运行节点 v18,如果有区别的话。不确定服务文件与我直接在目录中运行命令有什么不同。

我尝试升级节点版本,删除 node_modules 并重新安装,删除并重新安装 web3 包。以及重新启动服务器。

node.js unix nvm systemctl
© www.soinside.com 2019 - 2024. All rights reserved.