Node.js 如何在ubuntu 20.04上运行discord机器人

Node.js 如何在ubuntu 20.04上运行discord机器人,node.js,ubuntu,discord.js,Node.js,Ubuntu,Discord.js,我在VPS上运行discord bot时遇到一些问题 我可以在windows命令提示符下或使用node在webstorm运行函数中成功运行bot '节点fraithorbot.js' 但当我尝试在我的VPS系统上执行此操作时,会出现以下错误: internal/modules/cjs/loader.js:807 return process.dlopen(module, path.toNamespacedPath(filename)); ^ Error:

我在VPS上运行discord bot时遇到一些问题 我可以在windows命令提示符下或使用node在webstorm运行函数中成功运行bot '节点fraithorbot.js'

但当我尝试在我的VPS系统上执行此操作时,会出现以下错误:

internal/modules/cjs/loader.js:807
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: /var/www/fraithorbot/node_modules/canvas/build/Release/canvas.node: invalid ELF header
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:807:18)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/var/www/fraithorbot/node_modules/canvas/lib/bindings.js:3:18)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
root@fraithor:/var/www/fraithorbot#
internal/modules/cjs/loader.js:807
返回process.dlopen(模块,path.toNamespacedPath(文件名));
^
错误:/var/www/fraithorbot/node_modules/canvas/build/Release/canvas.node:ELF头无效
在Object.Module.\u extensions..节点(internal/modules/cjs/loader.js:807:18)
at Module.load(内部/modules/cjs/loader.js:653:32)
在tryModuleLoad(内部/modules/cjs/loader.js:593:12)
at Function.Module._load(内部/modules/cjs/loader.js:585:3)
at Module.require(内部/modules/cjs/loader.js:692:17)
根据需要(内部/modules/cjs/helpers.js:25:18)
反对。(/var/www/fraithorbot/node_modules/canvas/lib/bindings.js:3:18)
at模块编译(内部/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:789:10)
at Module.load(内部/modules/cjs/loader.js:653:32)
root@fraithor:/var/www/fraithorbot#
有人知道为什么会发生这种情况或如何修复吗?
我正在使用Ubuntu20.04(我很确定)

我让它工作起来了,所以我决定分享我的解决方案


“如果您直接从Windows计算机将node_模块复制到ubuntu服务器,则无法工作。复制并运行npm安装时,请忽略node_模块。”


感谢@user15517071

你是在
ubuntu
上安装依赖项,还是复制并粘贴到那里?你是在ubuntu上安装了节点模块吗,或者从windows PC上传整个
node\u模块
文件夹?据我所知,您在安装canvas.node时遇到问题。请检查VPS构建工具并安装日志。如果将
node\u模块
直接从windows机器复制到ubuntu服务器,则无法正常工作。复制并运行
npm install
时,忽略
node\u模块