我正在尝试使用npm在nodejs上安装websocket我遇到了以下错误.. 我正在Windows上安装它。
npm install websocket
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files (x86)\\nodejs\\\\node.exe',
1 verbose cli 'C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'install',
1 verbose cli 'websocket@1.0.3' ]
2 info using npm@1.1.32
3 info using node@v0.8.0
4 verbose node symlink C:\Program Files (x86)\nodejs\\node.exe
5 verbose config file C:\Users\tasleem\.npmrc
6 verbose config file C:\Program Files (x86)\nodejs\etc\npmrc
7 verbose config file C:\Program Files (x86)\nodejs\node_modules\npm\npmrc
8 verbose read json C:\Program Files (x86)\nodejs\package.json
9 verbose read json C:\Program Files (x86)\nodejs\node_modules\npm\package.json
10 verbose read json C:\Program Files (x86)\nodejs\node_modules\package\package.json
11 verbose read json C:\Program Files (x86)\nodejs\node_modules\websocket-1.0.6\package.json
12 verbose read json C:\Program Files (x86)\nodejs\package.json
13 verbose cache add [ 'websocket@1.0.3', null ]
14 silly cache add name=undefined spec="websocket@1.0.3" args=["websocket@1.0.3",null]
15 verbose parsed url { pathname: 'websocket@1.0.3',
15 verbose parsed url path: 'websocket@1.0.3',
15 verbose parsed url href: 'websocket@1.0.3' }
16 silly cache add name="websocket" spec="1.0.3" args=["websocket","1.0.3"]
17 verbose parsed url { pathname: '1.0.3', path: '1.0.3', href: '1.0.3' }
18 verbose addNamed [ 'websocket', '1.0.3' ]
19 verbose addNamed [ '1.0.3', '1.0.3' ]
20 verbose url raw websocket/1.0.3
21 verbose url resolving [ 'https://registry.npmjs.org/', './websocket/1.0.3' ]
22 verbose url resolved https://registry.npmjs.org/websocket/1.0.3
23 http GET https://registry.npmjs.org/websocket/1.0.3
24 error Error: connect ETIMEDOUT
24 error at errnoException (net.js:781:11)
24 error at Object.afterConnect [as oncomplete] (net.js:772:19)
24 error { [Error: connect ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect' }
25 error You may report this log at:
25 error <http://github.com/isaacs/npm/issues>
25 error or email it to:
25 error <npm-@googlegroups.com>
26 error System Windows_NT 6.1.7601
27 error command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "websocket@1.0.3"
28 error cwd C:\Program Files (x86)\nodejs
29 error node -v v0.8.0
30 error npm -v 1.1.32
31 error syscall connect
32 error code ETIMEDOUT
33 error message connect ETIMEDOUT
34 error errno ETIMEDOUT
35 error ETIMEDOUT errno
36 verbose exit [ 1, true ]
或者我有WebSocket包,有人可以告诉在nodejs文件夹中提取这个吗?
答案 0 :(得分:1)
您的网站与the NPM registry之间似乎存在连接问题。首先尝试在浏览器中连接到NPM registry,您应该有同样的错误。
检查您的网络连接,您也可以尝试ping registry.npmjs.org
。
答案 1 :(得分:0)
“npm up -g”也不会伤害..
答案 2 :(得分:0)
我不确定这是否可以帮到你。 我在windows上使用nodejs。 Cygwin和当我尝试使用websockets制作javascripts时,我遇到标准节点安装问题 - 它太旧了,然后我尝试从Cygwin内部安装新版本的节点,但是这不可能,所以我继续使用它来安装它“node-v0.10.24-x64.msi”,可以从http://nodejs.org/download/
下载下载后,我手动将文件夹nodejs中的所有内容复制到cygwin / usr / local / bin
为了安装ws(websockets),需要npm,为此您需要最新版本 - 在手动复制整个文件夹nodejs之后,您可以启动cygwin并编写以下内容:
node -v
它应该写这样的东西:
$ node -v
v0.10.24
现在您可以进行以下操作:
$ cd /usr/local/bin/node_modules/npm/bin
$ node npm-cli.js install ws
$ node npm-cli.js install websockets
npm-cli.js是npm的命令行界面版本,用javascript制作,nodejs可以解析它,所以现在应该安装ws模块
- 请注意,在安装后将文件夹“node_modules”复制或移动到以下位置非常重要:
cygwin / home / - 你的用户 - / node_modules
否则你的javascript项目将无法看到已安装的模块 - 这实际上是奇怪的原因,但我没有答案 - 我只是制作了副本然后才有效
我希望你能用这个答案
答案 3 :(得分:0)
第1步:设置服务器 Express扮演HTTP服务器的角色,提供HTML文件和连接Websocket服务
var express = require('express')
var ws = require('./ws')
var app = express()
app.get('/', function (req, res) {
res.sendfile(__dirname + '/ws.html');
})
app.listen(3000, function () {
console.log('app listening on port 3000!')
})
第2步:设置客户端 websocket client是一个浏览器支持的对象。
下面是goind介绍3个导入和功能:
ws.onopen:连接时发出emmited ws.send:向websocket服务器发送send事件 ws.onmessage:接收消息时发生的事件
<script>
var ws = new WebSocket('ws://localhost:40510');
// event emmited when connected
ws.onopen = function () {
console.log('websocket is connected ...')
// sending a send event to websocket server
ws.send('connected')
}
// event emmited when receiving message
ws.onmessage = function (ev) {
console.log(ev);
}
</script>