无法从节点控制台访问socket.io模块

时间:2016-02-10 09:43:21

标签: node.js sockets

Please check this image here,因为我无法直接在此处显示。我已经全局安装了socket.io模块,甚至我已尝试在PushNotification目录中进行本地安装。我仍然收到错误“错误:无法找到模块'socket.io'”。

2 个答案:

答案 0 :(得分:0)

不要在全局npm(-g)中使用socket.io 在项目中本地安装

npm -install socket.io --save

答案 1 :(得分:0)

在全局安装时,节点无法找到socket.io的位置。全局模块安装实际上仅适用于必须链接到PATH的命令行级工具,以便您可以从节点环境外部调用它们。其中最明显的是npm,例如npm install

当您全局安装socket.io时,您最终将其放入/usr/local/lib,这不在节点查找模块所需的位置列表中。当节点遇到require语句时,它会在几个位置查找:

  1. 节点核心模块
  2. if path,查看项目路径
  3. 其他查看node_modules路径
  4. 这些位置都不匹配/usr/local/lib,因此节点会抛出"未找到"错误。

    详细了解require here

    要回答您的其他问题,如果您在node_modules文件夹中安装socket.io,然后在节点命令行require('socket.io')中安装,它将最终查找您的node_modules文件夹并查找{{1}因此,您可以在节点命令行中轻松使用它。