node.js - Forever, NVM, Nodejs with Crontab, app 抛出错误

标签 node.js cron centos nvm forever

我正在尝试使用永远和 cron 作业在重新启动时运行我的 Node 应用程序。
我已经通过 NVM 安装了 Node 。
这是我的 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"],
});

最佳答案

好的解决了!!
我将我的 crontab 脚本更改为首先导航到 app 目录,然后从那里永远执行

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

关于node.js - Forever, NVM, Nodejs with Crontab, app 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68881398/

相关文章:

linux - Bash 脚本有效但在从 crontab 执行时无效

php - VirtualHost 在 CentOS 7 上的 Apache 2.4.6 下不工作

PHP:为什么 strtotime 转换会给出不同的值并且仅限于特定日期?

node.js - Node js JWT 使用 Google 的公钥验证 token

php - 从 Node.js 获取 PHP

node.js - 如何在nodejs邮件程序emailJS中设置回复?

centos - 如何将rpm包发布到YUM

node.js - 将请求记录到 Nodejs Express

php - 为多个时间范围设置 PHP cronjob

Golang Cronjob vs time.Ticker 用例