错误:找不到模块'socket.io'

Dmi*_*iyB 31 node.js socket.io

[~]# node node.js

Error: Cannot find module 'socket.io'

[~]# node -v
v0.10.10
Run Code Online (Sandbox Code Playgroud)

socket.io安装:

npm install socket.io

npm WARN package.json policyfile@0.0.4 No repository field.
npm WARN package.json policyfile@0.0.4 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
Run Code Online (Sandbox Code Playgroud)

ajt*_*rds 58

看起来您已安装socket.io在当前路径的其他位置.如下所示全局安装:

npm install -g socket.io

或者引用您安装的位置:

var io = require('../lib/socket.io');
Run Code Online (Sandbox Code Playgroud)


小智 11

谢谢ajtrichards!

只是为了添加答案 - 以防您简单使用

sudo npm install socket.io
Run Code Online (Sandbox Code Playgroud)

安装路径将是

/home/.../.npm/socket.io
Run Code Online (Sandbox Code Playgroud)

如果你使用sudo npm install -g socket.io

安装路径将是

/usr/local/lib/node_modules/socket.io
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,我尝试在全局路径变量中添加socket.io路径,但它不起作用.


小智 6

您可能已安装但未添加到 package.json 中的依赖项 使用以下命令安装socket.io模块

npm install socket.io --save
Run Code Online (Sandbox Code Playgroud)

希望这能解决您的问题..


小智 5

我在使用 NodeJs、 Typescript 和 Socket.io 4时遇到了这个问题。错误是:

TS2792: Cannot find module 'socket.io'.

所以我的解决方法是更新tsconfig.json添加新属性(moduleResolution)。

tsconfig.json:

{
  "compilerOptions": {
    ....
    "moduleResolution": "node",
  }
}
Run Code Online (Sandbox Code Playgroud)