为什么我不断收到“找不到模块‘socket.io’”?

Tim*_*j93 1 javascript node.js socket.io

我一直在尝试在我的 NodeJS 脚本中使用 socket.io,但我不断收到错误“找不到模块‘socket.io’”。

完整错误:

$ sudo node /var/www/apache/server/serverScript.js
module.js:549
    throw err;
    ^

Error: Cannot find module 'socket.io'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/var/www/apache/server/serverScript.js:59:12)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
Run Code Online (Sandbox Code Playgroud)

我已经尝试在全球安装 socket.io,我已经更新了所有与 npm 相关的内容,并尝试了我在网上找到的所有其他常见建议,但错误没有改变。

如果我不得不猜测,我认为它与 package.json 文件有关。我最近才开始使用 NodeJS,从未使用过 package.json 文件。我看到有人提到它作为修复,所以我通过npm init. 这将它放在/home/pi. 由于这没有帮助,我将文件移动到 js 文件位置:/var/www/apache/server. 不幸的是,没有运气。

谁能告诉我是什么导致了这个问题?

Kim*_*sen 5

如果没有您的任何源代码,很难给出一个好的答案。但是,您可以尝试这样做。

  1. 打开您的 cmd 或终端。
  2. cd 到您的项目文件夹中。
  3. 运行命令: npm i --save socket.io
  4. 在源代码中,键入const io = require('socket.io');以导入 socket.io。