当我这样做时/usr/bin/node /root/twitch/dakbot/bot.js
,它会给我一个有关模块的错误。
似乎我requires
使用的任何依赖项都与旧版本的节点不兼容。所以我做了sudo npm install -g n
和sudo n latest
。
现在我在 ubuntu 22.04 LTS 上的节点 16.16.0 上。
现在我这样做时,node /root/twitch/dakbot/bot.js
它运行良好,没有错误。但是当我尝试这样做时/usr/bin/node /root/twitch/dakbot/bot.js
,/usr/bin/nodejs /root/twitch/dakbot/bot.js
它给出了与最初相同的错误。
为什么没有/usr/bin/node
使用/usr/bin/nodejs
正确版本的节点,但node /root/twitch/dakbot/bot.js
可以使用?我正在尝试设置supervisord以保持3个不同的节点脚本运行,但由于这个原因,我无法让它们启动。
答案1
你可能在不同的目录中安装了多个版本的 node。检查二进制文件node
指向哪个位置which node
,或者type node
答案2
node有多个版本,exec命令检查
where node
将打印您安装的所有节点。