2012-04-05 87 views
1

我试图安装expressjs。Express JS安装

我一直在这里收到此错误:

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
Error: No such module 
    at Object.<anonymous> (/usr/share/npm/lib/utils/output.js:8:21) 
    at Module._compile (module.js:432:26) 
    at Object..js (module.js:450:10) 
    at Module.load (module.js:351:31) 
    at Function._load (module.js:310:12) 
    at Module.require (module.js:357:17) 
    at require (module.js:368:17) 
    at Object.<anonymous> (/usr/share/npm/lib/utils/log.js:21:14) 
    at Module._compile (module.js:432:26) 
    at Object..js (module.js:450:10) 

为什么错误发生的任何想法。我安装npm似乎没有任何问题。

这是我尝试使用安装快递JS的命令:我在expressjs website引导尝试以及

sudo npm install express -g 

。 对不起,我的坏。 dint安装nodejs的最新版本

+0

安装其他设备时是否显示此错误? – drinchev 2012-04-06 14:53:44

+0

不,它没有来试图安装插座io ..不知道其他人 – user1306229 2012-04-09 08:44:07

回答

0

如果您有更新版本的Node.js和更早版本的NPM,就会发生这种情况。这听起来像你刚刚更新Node.js,所以现在你需要更新NPM。

+0

但一切工作正常。没有任何问题。 我使用NPM版本1.1.12和节点版本0.6.14。 有什么,我在这里失踪? – user1306229 2012-04-13 20:41:43

0

您很可能以某种方式使用旧的NPM版本。

node --version 
npm --version 

另外,还有一些在Ubuntu两个包具有类似名称,nodenodejs

Fedora也遵循类似的包命名方案。因此, nodejs中的二进制必须从原始的 节点重命名为nodejs。然而,这在技术上并非犹太教:大多数nodejs程序 (以及使用npm安装的库)假定节点二进制文件是 节点。如果你想解决这个问题,最简单的方法就是将符号链接 这两个结合在一起。如果采取此路线,请不要安装节点 包,该包处理业余无线电收音机的东西。

sudo ln -s /usr/bin/nodejs /usr/local/bin/node 

另外,在node的情况下,我建议使用n,而不是安装链接。只需安装npm(它将安装节点),然后删除npm,然后告诉apt清理它。要做到这一点,只需运行

sudo apt-get install npm 
sudo npm install -g n 
sudo n latest 
sudo apt-get --purge remove npm 
sudo apt-get autoremove 

还有其他二进制发行版的经理,即使是从一个shell脚本的工作就像nvm,但我个人更喜欢n。想象一下n就像一个apt只是一件事:它安装到/usr/local/bin的节点二进制文件。