&引用;错误:未打开";尝试安装Meteorite软件包时

&引用;错误:未打开";尝试安装Meteorite软件包时,meteor,meteorite,Meteor,Meteorite,Meteorite安装非常好(我必须按照Meteorite的安装说明建议使用sudo-H npm install-g Meteorite),然后我可以使用它在我的项目中安装标准Meteor软件包,例如mrt add jquery。但如果我尝试从Atmosphere安装任何软件包,例如mrt add router或mrt add font awesome,我会得到以下输出: Installing Meteor branch: https://github.com/meteor/meteor.

Meteorite安装非常好(我必须按照Meteorite的安装说明建议使用
sudo-H npm install-g Meteorite
),然后我可以使用它在我的项目中安装标准Meteor软件包,例如
mrt add jquery
。但如果我尝试从Atmosphere安装任何软件包,例如
mrt add router
mrt add font awesome
,我会得到以下输出:

Installing Meteor

  branch: https://github.com/meteor/meteor.git#master

Installing smart packages


/usr/local/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/lib/WebSocket.js:175
   else throw new Error('not opened');
           ^
Error: not opened
    at WebSocket.send (/usr/local/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/lib/WebSocket.js:175:16)
    at DDPClient._send (/usr/local/lib/node_modules/meteorite/node_modules/ddp/lib/ddp-client.js:77:15)
    at WebSocket.<anonymous> (/usr/local/lib/node_modules/meteorite/node_modules/ddp/lib/ddp-client.js:49:10)
    at WebSocket.EventEmitter.emit (events.js:92:17)
    at WebSocket.establishConnection (/usr/local/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/lib/WebSocket.js:576:8)
    at ClientRequest.<anonymous> (/usr/local/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/lib/WebSocket.js:488:25)
    at ClientRequest.g (events.js:175:14)
    at ClientRequest.EventEmitter.emit (events.js:106:17)
    at CleartextStream.socketOnData (http.js:1587:11)
    at CleartextStream.read [as _read] (tls.js:477:10)
安装流星
分支机构:https://github.com/meteor/meteor.git#master
安装智能软件包
/usr/local/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/lib/WebSocket.js:175
否则抛出新错误(“未打开”);
^
错误:未打开
在WebSocket.send(/usr/local/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/lib/WebSocket.js:175:16)
在ddp客户端发送(/usr/local/lib/node\u modules/meteorite/node\u modules/ddp/lib/ddp client.js:77:15)
在WebSocket。(/usr/local/lib/node_modules/meteorite/node_modules/ddp/lib/ddp client.js:49:10)
在WebSocket.EventEmitter.emit(events.js:92:17)
在WebSocket.buildConnection(/usr/local/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/lib/WebSocket.js:576:8)
在ClientRequest。(/usr/local/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/lib/WebSocket.js:488:25)
在ClientRequest.g(events.js:175:14)
在ClientRequest.EventEmitter.emit(events.js:106:17)
在CleartextStream.socketOnData(http.js:1587:11)
在CleartextStream.read[as_read](tls.js:477:10)

mrt run
运行正常!我在Meteor v0.6.3.1和Meteorite v0.5.1上。如果您有任何想法,我将不胜感激,谢谢

检查您的节点版本

截至今天(2013年5月26日),当我使用节点v0.10.8时,我可以完美地复制此错误(我得到相同的错误消息)

但是,在node-v0.9.9中,mrt add命令起作用

我的环境的其他部分包括:

  • Ubuntu 12.04 LTS x64

  • 捷运——版本

    陨石版本0.5.1


  • 这是节点0.10.8特有的问题

    我能够通过使用这些说明首先删除节点来解决这个问题。一个例外是,我在使用nvm安装节点时遇到问题,因此我使用了一个软件包:

    您可以在此处找到下载适用于所有操作系统的node 0.10.7版本安装程序包的链接:

    安装完成后,执行node-v检查版本。如果它看起来不正确,尝试重新启动。出于某种原因,我不得不重新启动电脑,让自己的电脑开心起来


    如果重新安装节点后仍然存在问题,请尝试删除并重新安装meteorite和meteor。希望这能帮助有同样问题的人。

    我也看到了这个错误。Ubuntu 13.04 Node.js 0.10.8当您使用
    mrt
    添加大气包时,它会在
    ~/.meteorite
    目录下存储包的本地副本。由于您以root用户身份安装了
    npm
    meteorite
    ,但您正在使用用户帐户运行
    mrt
    ,这可能只是一个文件权限问题吗?(即,它实际上无法将路由器包的内容写入
    ~/.meteorite/packages/router
    )假定运行
    sudo-H npm install-g meteorite
    可以防止此问题。我已经运行了
    mtr卸载;地铁卸载系统;rm-rf~/.npm
    移除了~/.陨石,但这些都不起作用根据您的建议,我刚刚使用了rm-rf~/.meteorite,但再次尝试无效。看起来tls不受支持。更改meteoriteArgs.report=meteoriteArgs.report | | 443在/usr/local/lib/node_modules/meteorite/lib/atmosphere.js中使用端口80可以解决这个问题。为了记录在案,您可以运行
    mrt--report=80
    ,而不必搞乱源代码。谢谢,看起来这确实是一个与节点0.10.8相关的问题。更多讨论如下: