NodeJS 错误:无法找到模块“Cannot find”

wvyml7n5  于 2023-05-06  发布在  Node.js
关注(0)|答案(9)|浏览(387)
[~]# node node.js

Error: Cannot find module 'socket.io'

[~]# node -v
v0.10.10

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
lnxxn5zx

lnxxn5zx1#

看起来您已经将socket.io安装到了与当前路径不同的位置。或者像下面这样全局安装:
npm install -g socket.io
或引用您已安装的位置:

var io = require('../lib/socket.io');
lb3vh1jj

lb3vh1jj2#

谢谢ajtrichards!
只是为了增加答案-如果你简单地使用

sudo npm install socket.io

安装路径为

/home/.../.npm/socket.io

如果使用sudo npm install -gsocket.io
安装路径为

/usr/local/lib/node_modules/socket.io

在第一种情况下,我尝试socket.io在全局路径变量中添加www.example.com路径,但没有成功。

izj3ouym

izj3ouym3#

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

npm install socket.io --save

希望这能解决你的问题。

41zrol4v

41zrol4v4#

我在Windows上的0.12.0版本也遇到了同样的问题。我尝试了npm install -gsocket.io,但没有任何改变。也试过npm cache clean也没什么变化,但是npm update npm -g之后,一切都好了。

d5vmydt9

d5vmydt95#

我在使用NodeJs、Typescript和www.example.com 4时遇到了这个问题Socket.io。错误是:
TS2792: Cannot find module 'socket.io'.
所以我的解决方法是更新tsconfig.json添加一个新属性(moduleResolution)。

  • tsconfig.json:*
{
  "compilerOptions": {
    ....
    "moduleResolution": "node",
  }
}
3duebb1j

3duebb1j6#

这几乎发生在你试图socket.io在你的html文件中获取www.example.com的时候,比如:
网站Map
其中您有:

< script type="text/javascript" src="/socket.io/socket.io.js"></script>

它不会找到 * socket.io *,因为你没有启动模块在你的应用程序文件,其中包含服务器一样

  • server.js*

在 * server.js * 中启动服务器后,必须包含以下行:

var io = require('socket.io').listen(server);

希望,能保存时间。

ttcibm8c

ttcibm8c7#

我认为你已经执行了命令npm install socket.io在不同的位置和你的文件在不同的目录。因此,要么在包含文件的同一目录下运行该命令,要么在PATH变量中注明当前安装www.example.com的路径socket.io。

eoxn13cs

eoxn13cs8#

我在mac遇到了同样的问题。。你可以使用sudo npm install socket.io-client安装模块

qpgpyjmq

qpgpyjmq9#

请检查你所有的js文件,无论你提到或调用socket.io,在我的情况下,这是一个拼写错误sokcet.io,我纠正并开始工作。

相关问题