与nodejs和express错误

我想在Ubuntu 13.10发行版中使用express 。 我使用node version 0.10.29npm 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了

希望这可以帮助..