Error: Cannot find module 'underscore' thrown in console for all Meteor commands
After every meteor or meteorite command such as meteor
or mrt create myapp
the following error is thrown. This error seemed to appear suddenly, as meteor was functional the night before and no changes have been made since.
Austins-MacBook-Pro:Projects austinrivas$ mrt create test-app
/Users/austinrivas/.meteor/tools/3cba50c44a/tools/meteor.js:1480
}).run();
^
Error: Cannot find module 'underscore'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at /Users/austinrivas/.meteor/tools/3cba50c44a/tools/meteor.js:10:11
I have tried installing underscore manually with sudo npm install -g underscore
which returns
Austins-MacBook-Pro:Projects austinrivas$ sudo npm install -g underscore
Password:
npm http GET https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz
npm WARN unmet dependency /usr/local/share/npm/lib/node_modules/phonegap/node_modules/cordova requires colors@'>=0.6.0' but will load
npm WARN unmet dependency /usr/local/share/npm/lib/node_modules/phonegap/node_modules/colors,
npm WARN unmet dependency which is version 0.6.0-1
npm WARN unmet dependency /usr/local/share/npm/lib/node_modules/phonegap/node_modules/node-static requires colors@'>=0.6.0' but will load
npm WARN unmet dependency /usr/local/share/npm/lib/node_modules/phonegap/node_modules/colors,
npm WARN unmet dependency which is version 0.6.0-1
underscore@1.5.2 /usr/local/share/npm/lib/node_modules/underscore
My ~/.bash_profile has the following paths
export PATH=/usr/local/share/npm/bin:$PATH
export NODE_PATH="/usr/local/share/npm/lib/node_modules"
export NODE_OPTIONS="--debug"
I've even tried reinstalling node and doing an npm cache clean
but I'm not sure what else to try.
Any further insight would be appreciated.
UPDATE
Running npm list -g underscore
returns the following
Austins-MacBook-Pro:~ austinrivas$ npm list -g underscore
npm WARN unmet dependency /usr/local/share/npm/lib/node_modules/phonegap/node_modules/cordova requires colors@'>=0.6.0' but will load
npm WARN unmet dependency /usr/local/share/npm/lib/node_modules/phonegap/node_modules/colors,
npm WARN unmet dependency which is version 0.6.0-1
npm WARN unmet dependency /usr/local/share/npm/lib/node_modules/phonegap/node_modules/node-static requires colors@'>=0.6.0' but will load
npm WARN unmet dependency /usr/local/share/npm/lib/node_modules/phonegap/node_modules/colors,
npm WARN unmet dependency which is version 0.6.0-1
/usr/local/share/npm/lib
├─┬ meteorite@0.6.11
│ ├─┬ ddp@0.3.4
│ │ └─┬ meteor-ejson@0.6.3
│ │ └── underscore@1.4.4
│ └── underscore@1.5.1
├─┬ phonegap@3.0.0-0.14.0
│ └─┬ cordova@3.0.0
│ ├─┬ follow-redirects@0.0.3
│ │ └── underscore@1.5.1
│ └─┬ plugman@0.9.10
│ ├─┬ dep-graph@1.1.0
│ │ └── underscore@1.2.1
│ └── underscore@1.4.4
├── underscore@1.5.2
└─┬ ungit@0.1.8
└── underscore@1.4.4
I was able to resolve this error by completely uninstalling / reinstalling meteor
and meteorite
through the following steps.
sudo rm /usr/local/bin/meteor
rm -rf ~/.meteor
sudo mrt uninstall
sudo mrt uninstall --system
sudo chown -R `whoami` ~/.npm
curl https://install.meteor.com | /bin/sh
sudo -H npm install -g meteorite
I was able to verifying everything was working properly by running meteor --version
and mrt create test-app
First off, your meteorite is out of date. To update meteorite run (sudo if applicable):
npm update -g meteorite
If you ran the 'mrt' or 'meteor' command as sudo in the past, it will cause issues. Clear meteorite by running:
sudo mrt uninstall
sudo mrt uninstall --system
sudo chown -R `whoami` ~/.npm
You also want to remove the 'build' folder inside existing projects, located in '/project/.meteor/local/build'
来源:https://stackoverflow.com/questions/18678924/error-cannot-find-module-underscore-thrown-in-console-for-all-meteor-commands