与nodejs和express错误
我想在Ubuntu 13.10发行版中使用express
。 我使用node version 0.10.29
和npm 1.4.14
当我使用express
这是我的输出:
module.js:340 throw err; ^ Error: Cannot find module 'mkdirp' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/usr/bin/express:10:14) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10)
此外,我必须使用sudo npm
因为npm
不起作用(我不确定这是否是问题的一部分 – 但我怀疑path问题,不太确定)。 我GOOGLE了,但一直没有能够解决这个问题。
编辑:我想我弄乱了我的道路。 我无法重新安装npm。 这是$PATH
输出
bash: /home/qtrain/npm/bin:/usr/bin/yo:/home/qtrain/.node/bin:/home/qtrain/Enthought/Canopy_64bit/User/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/qtrain/.rvm/bin:/home/qtrain/.rvm/bin:/home/qtrain/.rvm/bin:
迈克尔回答说, mkdirp
错误似乎源于使用chris-lea repo for node.js
mkdirp
解决方法:消除PPA和节点本身,然后重新安装如下。
1.) sudo apt-get install ppa-purge
– 如果你还没有安装
2.) sudo ppa-purge ppa:chris-lea/node.js
3.) sudo apt-get remove nodejs
4.) sudo apt-get remove npm
5.) sudo apt-get autoremove
6.) sudo apt-get install nodejs
7.) sudo apt-get install npm
8.) sudo apt-get install node-express
在使用npm和express时遇到了类似的问题。 我的解决scheme是使用sudo apt-get remove nodejs
从我的整个系统卸载节点
然后,我从这里重新安装源节点http://chimera.labs.oreilly.com/books/1234000001808/ch01.html#chap5_id35941617
然后,我必须使用sudo apt-get install npm
install npm分别sudo apt-get install npm
但仍然无法正常工作。
那时我才意识到,我从chris lea安装的ppa repos没有configuration为13.10
https://launchpad.net/~chris-lea/+archive/ubuntu/node.js-legacy
删除它们,并使用sudo apt-get install npm
重新sudo apt-get install npm
并用sudo apt-get install node-express
那时我就可以用npm和express了
希望这可以帮助..