除非更改目录,否则无法启动节点应用

时间:2018-05-05 17:57:08

标签: node.js command-line raspberry-pi3 raspbian cd

我正在尝试创建一个每小时启动我的节点应用程序的cron作业,启动的命令是:

node /home/pi/Desktop/DiscordBots/panda-bot/index.js
然而,这会返回:

fs.js:646
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open 'warnings.json'

如果我先转到目录/home/pi/Desktop/DiscordBots/panda-bot然后node index.js

,它就会启动

这意味着我必须创建一个cds然后启动节点的shell脚本,但我更喜欢在一行中启动它,这可能吗?

1 个答案:

答案 0 :(得分:1)

Cron在您的主目录中运行您的命令。 如果你想在你的crontab中使用oneliner命令,那么你必须使用&&

在你的crontab中 0 * * * * cd /home/pi/Desktop/DiscordBots/panda-bot && node index.js

请参阅:https://unix.stackexchange.com/questions/38951/what-is-the-working-directory-when-cron-executes-a-job