centos 永远,NVM,Nodejs与Crontab,应用程序抛出错误

i2loujxw  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(165)

我试图运行我的节点应用程序在重新启动使用永远和cron作业。
我已经通过NVM安装了节点。
这是我的crontab:

SHELL=/bin/bash
BASH_ENV=~/.bashrc
@reboot /home/USERNAME/.nvm/versions/node/v15.0.0/bin/forever 
        start -c /home/USERNAME/.nvm/versions/node/v15.0.0/bin/node
        /home/USERNAME/my-node-app/server.js

cronjob似乎一直在成功运行,但是,应用程序抛出了一个错误:

/home/USERNAME/my-node-app/node_modules/@babel/core/lib/config/files/plugins.js:152
throw e;
^
Error: Cannot find module '@babel/plugin-transform-runtime' from '/'

node_modules的路径似乎是正确的,babel配置正确,应用程序运行,如果我永远运行没有cronjob。

require("@babel/register")({
  presets: ["@babel/preset-env"],
  plugins: ["@babel/plugin-transform-runtime"],
});
col17t5w

col17t5w1#

好了解决了!
我将crontab脚本更改为首先导航到应用程序目录,然后从该目录永久执行

SHELL=/bin/bash
BASH_ENV=~/.bashrc
@reboot cd /home/USERNAME/my-ode-app/server.js && 
/home/USERNAME/.nvm/versions/node/v15.0.0/bin/forever 
start -c /home/USERNAME/.nvm/versions/node/v15.0.0/bin/node server.js

相关问题