user@ubuntu-dev:~/myapp$ mrt add router
Installing smart packages
else throw new Error('not opened');
Error: not opened
at WebSocket.send (/usr/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/lib/WebSocket.js:175:16)
at DDPClient._send (/usr/lib/node_modules/meteorite/node_modules/ddp/lib/ddp-client.js:77:15)
at WebSocket. (/usr/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/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/lib/WebSocket.js:576:8)
at ClientRequest. (/usr/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
This is on Ubuntu 12.04 using the 0.10.8 build of nodejs from the PPA here: https://launchpad.net/~chris-lea/+archive/node.js/
It works fine with the 0.10.7 release of node from the PPA.
Are you totally sure it still works with 0.10.7? We recently updated atmosphere, which could be part of the problem.
If you could, could you go upstream with this, i.e. can you reduce the bug against https://github.com/oortcloud/node-ddp-client ? I'd really appreciate that.
Yep it worked with 0.10.7 and errors with 0.10.8. I just re-verified with two fresh VMs, both versions installed from binaries.
Sure thing, I'll take a look.
For reference: http://stackoverflow.com/questions/16755227/error-not-opened-when-trying-to-install-meteorite-packages
I have the exact same problem on Mac OS X Mountain Lion. I tried the suggested solution of jason on stackoverflow (link above) to change the port from 443 to 80 in atmosphere.js, but that only caused the mrt add command to do nothing anymore until killing it with ctrl + c.
jason's suggestion of changing from port 443 to port 80 worked for me. I'm on Mac OS X 10.7.5 and Node.js 0.10.8.
I debugged into DDPClient and determined that the "not opened" exception is a byproduct of the initial socket connection failing. The retry logic then results in a "not opened" exception when it gets into an inconsistent state.
The socket connection failing is giving me two different errors:
"no handler for opcode 13"
"reserved fields must be empty"
The latter message is currently being tracked in node: joyent/node#5557
@bmancini55 -- do you think that maybe the problem is what @nathan7 mentioned "All the ws tests pass except for the SSL-related ones (due to unrelated changes in SSL cert strictness)"?
Is this a problem with meteor.com's SSL certificate?
For the record all: if you are hitting this problem, you can run mrt --repoPort=80.
I've been having this exact problem, and I didn't bother checking issues here, till now. (1 hour wasted on debugging. :P)
Anyway, thanks for the 'fix', for now.
Can everyone try updating to 0.10.10 and see if it fixes this? Thanks.
updated to 0.10.10, same error. adding argument --repoPort=80 argument works for me.
@songz -- can you try reinstalling meteorite?
Ok. It's not fixed in 0.10.10.
We'll just default to port 80 for now. Will change back once node has sorted it out.
how about node 0.10.11 and meteorite version 0.6.5...... I am also facing same issue. I am unable to add the package.
Hi @BhimAle -- does it fail with both --repoPort 80 and --repoPort 443?
Can you confirm if it works with node 0.10.7?
@bmancini55 @Charminbear @kareems
Can you confirm if you are still seeing this with node 0.10.12?
mrt add X --verbose --repoPort 443
Seriously !! It is still problematic.
I'm behind proxy.
mrt add X is not working.
@ommkar23 -- both with --repoPort 80 and --repoPort 443?
Yes. I tried both. Not working.
Node version : 0.10.12
npm version : 1.2.32
meteorite version : 0.6.5
@ommkar23 can you track #127 as you are looking at a separate issue.
@ommkar23 I have the same version of node, npm, and meteorite as you and I also face the same problem as you but it worked on me " mrt add --repoPort 443 ". What does your "mrt add --verbose says ?
Was trying to verify in 0.10.12 and I'm seeing an issue with meteorite after a fresh install. Looks like meteor isn't being installed.
execvp(): No such file or directory
Can't find meteor executable!
Please install meteor from http://meteor.com
Manually installing meteor resolves the issue. Is this new behavior in Meteorite 0.6.5?
My procedure was:
local binary install of node 0.10.12
npm install -g meteorite
curl https://install.meteor.com | /bin/sh
@bmancini55 --- yes, as Meteorite says, the standard use case is for you to install Meteor yourself (and run it manually too, you don't need to use mrt any more for anything apart from mrt add and/or mrt install).
On the topic of mrt add not working though?
mrt add is working for me on both port 80 and 443.
@Charminbear @kareems can you confirm if you are still seeing problems with port 443? I'm planning on switching back soon (as port 80 causes unresolvable problems with some firewalls).
I came across the thread while searching for solution to "mrt add not downloading from atmosphere". mrt install and mrt update are fine.
Using port 443 solved it.
$ mrt add user-status --repoPort=443
$ mrt --version
Meteorite version 0.6.6
Unreleased (running from a checkout)
$ node --version
I also tried it in another machine and was OK. Using port 80 didn't work.
$ mrt add mini-pages --repoPort=443
$ mrt --version
Meteorite version 0.6.6
[eweb@lxmv40 my-app]$ node --version
Haven't heard back so I went ahead and switched back. Hopefully everyone is good.
For anyone who was hung up on mrt update or install and runs meteor on vagrant on windows, a vagrant reload helps resolve what might be a filesystem-caused hang.