Node.js 通过crontab执行NodeJS会引发错误

Node.js 通过crontab执行NodeJS会引发错误,node.js,linux,npm,cron,Node.js,Linux,Npm,Cron,我有一个使用discord.js模块的NodeJS脚本。 当我通过终端执行它时,它可以完美地工作 const fs=require('fs'); const Discord=require('Discord.js'); client=newdiscord.client();client.on('ready',async()=>{ console.log('我准备好了!'); const dev=wait client.users.fetch(2396720); const json=json.s

我有一个使用discord.js模块的NodeJS脚本。 当我通过终端执行它时,它可以完美地工作

const fs=require('fs');
const Discord=require('Discord.js');
client=newdiscord.client();client.on('ready',async()=>{
console.log('我准备好了!');
const dev=wait client.users.fetch(2396720);
const json=json.stringify(dev);
fs.writeFile('/var/www/html/discord.json',json,函数(err){
如果(错误)抛出错误;
console.log('Saved!');
进程退出(0);
});
});
client.login('Mjky_Pn3Bk');
但是,当我使用crontab计划它时

* * * * * node /var/www/UserToJSON/index.js >> /tmp/results.log 2>&1
我收到这个错误

/var/www/UserToJSON/node_modules/discord.js/src/client/client.js:41
}抓住{
^
SyntaxError:意外标记{
在createScript上(vm.js:80:10)
在Object.runInThisContext(vm.js:139:10)
在模块处编译(Module.js:617:28)
在Object.Module.\u extensions..js(Module.js:664:10)
在Module.load(Module.js:566:32)
在tryModuleLoad时(module.js:506:12)
在Function.Module.\u加载(Module.js:498:3)
at Module.require(Module.js:597:17)
根据需要(内部/module.js:11:18)
在对象上。(/var/www/UserToJSON/node_modules/discord.js/src/index.js:8:11)

Crontab执行了一个过时的分发节点包,该包放在/usr/bin中/

解决方案是使用普通用户安装的节点版本,该版本位于/usr/local/bin中

这是crontab行的外观:

* * * * * /usr/local/bin/node /var/www/UserToJSON/index.js

在终端和通过crontab.Post output.v8.17.0从crontab和v12.18.3从控制台中尝试
哪个节点
节点-v
。当使用
哪个节点时,crontab不输出类似crontab的节点具有不同版本的节点,试图找到解决方案您需要从发行版中卸载节点包。
ich节点
通过控制台通过crontab/usr/local/bin/node输出/usr/bin/node