[英]Node.js, getting cannot find module 'ws' error
我已经在我的 Windows-7 PC 上安装了 node.js。 我无法创建到远程服务器的 websocket 连接。
我试图在我的脚本中加载模式“ws”:
var WebSocket = require('ws')
它给出了一个错误:
cannot find module 'ws'
所以我按照这里的说明进行操作: node.js websocket module installed but won't work in scripts
Execute cmd as Administrator (Right click cmd icon-> Run as Administrator) Then type in cmd:
c:\Node Instalation Dir\> npm install -g express
c:\Node Instalation Dir\> npm install websocket --force
Then run my script :--
D:\My Script Folder \> node myscript.js
同样的错误。 可能是什么问题呢 ?
cannot find module 'ws'
如果你安装 websocket,你应该需要 websocket,而不是 ws:
npm install websocket
然后在 REPL 中:
var websocket = require('websocket');
或者,您可以使用ws
模块:
npm install ws
复制/脚本:
var ws = require('ws');
看看你的node_modules
目录(只有第一级,它下面的目录)。 您可以按确切名称要求它们中的每一个。
require
实际上会在当前目录中查找node_modules
,如果没有找到,然后是父级,然后是父级等。如果找不到,它将查找安装在NODE_PATH
指向的全局路径中的模块。 (当然还有本地模块,例如http
和net
。)
尝试在本地而不是全局安装包,即不带-g
选项。
您是否使用 -g 选项安装了模块? 我认为并不是每个模块都打算全局安装,而是尝试为您正在创建的项目(npm install)在本地安装它,并检查错误是否仍然存在。 [...]
如果你只想 require('something'); 最好在本地安装它,否则,您必须要求('{PREFIX}something'),其中前缀是您全局安装它的路径。 查看这篇博文,正如它所说,一般来说,经验法则是如果您要在应用程序中使用它们,则在本地安装它们,如果您要从命令行使用它们,则在全局范围内安装。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.