Meteor 0.8.0 fails to install atmosphere packages - meteor

I just upgraded to Meteor 0.8.0 and now installing packages with meteorite fails. I tried a lot, including uninstalling and reinstalling Meteor and Meteorite from scratch. I am running meteor on a Mac with 10.9.2.
I just create a fresh app
mrt create myapp
cd myapp
and add some random atmosphere package
myapp add aws-sdk
and I get this error, no matter which package I try to install:
smart.json changed.. installing from smart.json
✓ aws-sdk
tag: https://github.com/peerlibrary/meteor-aws-sdk.git#v1.5.1.1
/usr/local/lib/node_modules/meteorite/lib/dependencies/package.js:106
throw('Could not locate package.js within path ' + self.source.packagePa
^
Could not locate package.js within path /Users/Me/.meteorite/packages/aws-sdk/peerlibrary/meteor-aws-sdk/63efa4ebbe9986bd875f69d5fdf3248c5c44159e
my-mac-pro:myapp Me$
After that, the following line for removing the failing package produces exactly the same error:
mrt remove aws-sdk
Thank you very much for any hint!

Ah. Forgot I already knew the answer to the problem, just did not recognize the problem. This error seems to be a rephrased version of the error "unable to clone repo xyz" in the old version and comes from inappropriate permissions. The answer is reinstalling only meteorite and fixing the permissions:
sudo mrt uninstall
sudo mrt uninstall --system
sudo chown -R `whoami` ~/.npm
sudo -H npm install -g meteorite
Hope that helps anybody, if not i'll probably just delete the question sooner or later!

Related

Upgrading Meteor: Error when running mrt migrate-app

I just upgraded Meteor to 0.9.0 and I got an error when running "mrt migrate-app".
Have I done something wrong?
-- Notice --
0.9.0: Welcome to the new Meteor package system! You can now add any Meteor
package to your app (from more than 1800 packages available on the
Meteor Package Server) just by typing 'meteor add <packagename>', no
Meteorite required.
It looks like you have been using Meteorite with this project. To
migrate your project automatically to the new system:
(1) upgrade your Meteorite with 'npm install -g meteorite', then
(2) run 'mrt migrate-app' inside the project.
Having done this, you no longer need 'mrt' and can just use 'meteor'.
All your package dependencies are already up to date.
me#ubuntu:~/myApp$ mrt migrate-app
/usr/local/lib/node_modules/meteorite/bin/mrt.js:21
throw("Subcommand " + subCommandName + " does not exist!");
First of all I did this (and it seemed to work):
me#ubuntu:/usr/local/lib/node_modules$ sudo npm install -g meteorite
First you have to update the project
meteor update
Then make sure to update meteorite
sudo npm update -g meteorite
And then run
mrt migrate-app
For more info read:
http://blog.percolatestudio.com/engineering/meteor-packaging-questions/
(Especially: How do I migrate my app from Meteorite to the Meteor Package System (0.9.0) ?)
https://hackpad.com/Migrating-Apps-UfPrM192vSQ
And personal favorite: https://www.discovermeteor.com/blog/updating-to-090/
I'm on osx and my mrt --version was 0.7.1 so I did a
macport selfupdate
then a
sudo port update npm
and a rehash to refresh the mrt executable (symlink to a js-file (I'm using zsh). Thank you to Matyas.
Then I did the
sudo npm update -g meteorite
mrt migrate-app
again but had a 'npm ERR! Please try running this command again as root/Administrator' which was solved with a
chown -R myUsername:staff .npm
regards
Claus
I solved it with
sudo mrt migrate-app
I don't know the possible consequences of this, use at your own risk!

Issue Installing Packages

I am trying to install the spomet and accounts-entry packages with meteorite and I'm receiving this:
smart.json changed.. installing from smart.json
smart.json changed.. installing from smart.json
✓ iron-router
tag: https://github.com/EventedMind/iron-router.git#v0.6.1
/usr/local/lib/node_modules/meteorite/lib/sources/git.js:151
hrow "There was a problem checking out " + self.checkoutType + ": " + (self.co
^
There was a problem checking out tag: v0.6.1
What does this mean? Any help is appreciated, thanks.
I periodically get this error with a variety of meteorite packages.
The fix that usually works for me is to kill the ~/.meteorite directory by running...
mrt uninstall --system
...then trying again.
The problem's with iron-router.
It depends on the npm module connect. The npmjs repository is having a bit of trouble at the moment try in a few hours perhaps.
You could try forcing an install:
In your project:
cd packages
git clone https://github.com/EventedMind/iron-router.git
This should forcibly install iron-router in. And if not give more details as an error.

mrt unable to clone repo

I'm trying to add packages using meteorite from atmosphere, but it seems unable to clone the repo. Here is my error.
mrt add momentjs
✓ momentjs
tag: https://github.com/crapthings/meteor-momentjs.git#v2.1.0
/usr/local/lib/node_modules/meteorite/lib/sources/git.js:108
throw "There was a problem cloning repo: " + self.url;
^
There was a problem cloning repo: https://github.com/crapthings/meteor-momentjs.git
Any ideas as to what might have gone wrong? git is in my PATH, and so is meteorite.
EDIT: This is running on OS X Mountain Lion
Depending on how you installed meteorite:
sudo mrt add momentjs
The WTF guide says that you might need to install meteorite with administrator rights. With my installation I also need to run mrt commands with sudo.
You can fix those issues by cleaning up the root owned files in your meteorite installation (or better: uninstall meteorite, clean up and reinstall it):
sudo mrt uninstall
sudo mrt uninstall --system
sudo chown -R `whoami` ~/.npm
sudo -H npm install -g meteorite
Don't forget the -H for setting the HOME variable to the root homedir in the last line. Afterwards you can do mrt add whatsoever without sudo again. Works for me, found here: https://github.com/oortcloud/meteorite

How to add package jade-handlebars

I am just a newbie in meteor and meteorite. I create a new project by mrt create my-app --branch devel. I have install meteorite by $ sudo -H npm install -g meteorite now when I add the package mrt add bootstrap the packages successfully added but on doing mrt add jade-handlers it wont show anything(either error or sucess) so how can I add the jade-handlerbars packages in my meteor project??
I am using node --version 0.10.11
meteorite --version 0.6.5
release 0.6.4
Thank You in Advance!!!
It may be that your smart.json is pointing at the tag on that package, rather than the git repo itself. (The last update to the package did not include a version bump, so the version of the package you get just by mrt adding it is outdated.)
Try putting this in your smart.json:
"jade-handlebars": {
"git": "https://github.com/SimonDegraeve/meteor-jade-handlebars.git"
}
Just a typo I guess?
mrt add jade-handlebars instead of mrt add jade-handlers
I also just figure it out that you can add the packages from the atmosphere by
mrt add <package> --repoPort=443

"Error: not opened" when trying to install Meteorite packages

Meteorite installs great (I have to use sudo -H npm install -g meteorite as Meteorite's install instructions recommend), and I can then use it to install standard Meteor packages in my projects, e.g. mrt add jquery. But if I try to install any packages from Atmosphere, e.g. mrt add router or mrt add font-awesome, I get this output:
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)
mrt run works properly though! I'm on Meteor v0.6.3.1 and Meteorite v0.5.1. Would appreciate any ideas, thanks!
Check your node version.
As of today (May 26, 2013), I can replicate this error perfectly (I get the same error message) when I use node v0.10.8.
However, with node node-v0.9.9 the mrt add command works.
The other parts of my environment are:
Ubuntu 12.04 LTS x64
mrt --version
Meteorite version 0.5.1
This is an issue specifically with Node 0.10.8
https://github.com/oortcloud/meteorite/issues/135
I was able to fix the issue by first removing node using these instructions. One exception is I had issues using nvm to install node so I used a package instead:
How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)
You'll find links to download installer package for the 0.10.7 version of node for all os' here:
http://blog.nodejs.org/2013/05/17/node-v0-10-7-stable/
After the install do a node -v to check the version. If it doesn't look right try a restart. I had to reboot in order to get mine happy for some reason.
If you continue to have issues after reinstalling node then try removing and reinstalling meteorite and meteor. Hope this helps someone having the same issue.

Resources