我正在编写一个node.js应用程序。
在这个目录(/var/lib/cloud9/BBB_WebApp$)中,我有一个package.json
{
"name": "MCP",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www",
"build": "browserify ./app.js > ./public/bundle.js"
},
"dependencies": {
"browserify": "^16.2.3",
"cookie-parser": "~1.4.3",
"debug": "~2.6.9",
"express": "~4.16.0",
"graceful-fs": "^4.2.4",
"http-errors": "~1.6.2",
"i2c-bus": "^4.0.9",
"influx": "^5.4.0",
"jquery": "^3.3.1",
"morgan": "~1.9.0",
"node-crc": "^1.2.2",
"nodemailer": "^6.3.1",
"pug": "2.0.0-beta11",
"socket.io": "^2.1.1",
"socketcan": "^2.5.0",
"spi-device": "^2.0.9"
}
}该应用程序运行良好
/var/lib/cloud9/BBB_WebApp$ npm run start 或
/var/lib/cloud9/BBB_WebApp$ npm start现在,我希望应用程序启动后自动启动。
因此,我使用systemd。
$ sudo nano /lib/systemd/system/Start_MCP.service。
[Unit]
Description=Start MCP Service
After=network.target
[Service]
User=debian
ExecStart=/usr/bin/npm run start
WorkingDirectory=/var/lib/cloud9/BBB_WebApp/
#Restart=on-failure
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target。
$ systemctl daemon-reload
$ systemctl enable Start_MCP.service
$ systemctl start Start_MCP.service 几秒钟后。服务停止了。
$ systemctl status Start_MCP.servicesyslog显示了以下行:
10月20日08:29:52 beaglebone systemd1: Start Start MCP服务。
10月20日08:29:59 beaglebone npm9518:> mcp@0.0.0开始/var/lib/cloud9 9/BBB_WebApp
10月20日08:29:59 beaglebone npm9518:> node ./bin/www
10月20日08:30:03 beaglebone npm9518: module.js:478
10月20日08:30:03 beaglebone npm9518:掷错;
10月20日08:30:03 beaglebone npm9518:^
10月20日08:30:03 beaglebone npm9518: Error:无法找到模块“bonescript”
10月20日08:30:03 beaglebone npm9518: at Function.Module._resolveFilename (module.js:476:15)
10月20日08:30:03 beaglebone npm9518: at Function.Module._load (module.js:424:25)
10月20日08:30:03 beaglebone npm9518: at Module.require (module.js:504:17)
10月20日08:30:03 beaglebone npm9518:应要求(内部/module.js: 20 :19)
10月20日08:30:03 beaglebone npm9518: at Object。(/var/lib/cloud9 9/BBB_WebApp/bin/www:26:9)
10月20日08:30:03 beaglebone npm9518: at Module._compile (module.js:577:32)
10月20日08:30:03 beaglebone npm9518: at Object.Module._extensions..js (module.js:586:10)
10月20日08:30:03 beaglebone npm9518: at Module.load (module.js:494:32)
10月20日08:30:03 beaglebone npm9518: at tryModuleLoad (module.js:453:12)
10月20日08:30:03 beaglebone npm9518: at Function.Module._load (module.js:445:3)
10月20日08:30:03 beaglebone npm9518: npm错误!Linux 4.14.108-ti-R 137
10月20日08:30:03 beaglebone npm9518: npm错误!/usr/bin/nodejs "/usr/bin/npm“"run”"start“
10月20日08:30:03 beaglebone npm9518: npm错误!节点v6.17.0
10月20日08:30:03 beaglebone npm9518: npm错误!npm v3.10.10
10月20日08:30:03 beaglebone npm9518: npm错误!代码ELIFECYCLE
10月20日08:30:03 beaglebone npm9518: npm错误!mcp@0.0.0启动:node ./bin/www
10月20日08:30:03 beaglebone npm9518: npm错误!退出状态1
10月20日08:30:03 beaglebone npm9518: npm错误!
10月20日08:30:03 beaglebone npm9518: npm错误!在mcp@0.0.0启动脚本‘节点./bin/www’处失败。
10月20日08:30:03 beaglebone npm9518: npm错误!确保安装了node.js和npm的最新版本。
10月20日08:30:03 beaglebone npm9518: npm错误!如果你这么做了,这很可能是mcp包的一个问题,
10月20日08:30:03 beaglebone npm9518: npm错误!而不是国家预防机制本身。
10月20日08:30:03 beaglebone npm9518: npm错误!告诉作者,这在您的系统中失败了:
10月20日08:30:03 beaglebone npm9518: npm错误!节点./bin/www
10月20日08:30:03 beaglebone npm9518: npm错误!您可以通过以下方法获取有关如何打开此项目问题的信息:
10月20日08:30:03 beaglebone npm9518: npm错误!npm缺陷mcp
10月20日08:30:03 beaglebone npm9518: npm错误!如果没有,你可以通过以下途径获得他们的信息:
10月20日08:30:03 beaglebone npm9518: npm错误!npm所有者ls mcp
10月20日08:30:03 beaglebone npm9518: npm错误!上面可能还有额外的日志输出。
10月20日08:30:03 beaglebone npm9518: npm错误!如有任何支持请求,请包括下列文件:
10月20日08:30:03 beaglebone npm9518: npm ERR!/var/lib/cloud9 9/BBB_WebApp/npm-调试器
10月20日08:30:03 beaglebone systemd1: Start_MCP.service:主进程退出,状态=1/失败
10月20日08:30:03 beaglebone systemd1: Start_MCP.service: Unit进入失败状态。
10月20日08:30:03 beaglebone systemd1: Start_MCP.service: Failed和结果'exit-code‘。
我做错什么了?
为什么我可以正常运行npm的应用程序,但不能使用systemd服务。
为什么找不到验尸记录。
非常感谢你们的努力。
发布于 2020-10-23 05:13:26
解决办法:
我无法解释为什么,但是在目录中重新安装bonescript
./BBB_WebApp$ npm安装脚本--保存
帮了大忙。
https://stackoverflow.com/questions/64441876
复制相似问题