永远,NVM,带有 Crontab 的 Nodejs,应用程序抛出错误

Forever, NVM, Nodejs with Crontab, app throws an error

我正在尝试 运行 我的节点应用程序使用永久和 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 似乎 运行ning 永远成功,但是,应用程序抛出错误:

/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,应用程序 运行s。

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

好的解决了!!

我将我的 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