使用npm安装后在bash中找不到命令

只是安装了新的ubuntu虚拟机,按照以下顺序testing节点安装的东西:

node mongodb-server npm express mongoose 

现在,试图创build一个新的应用程序,我注意到快递不能在shell中使用。 express -v返回express:找不到命令

我像这样安装了npm

 curl http://npmjs.org/install.sh | sudo sh 

我用这种方式安装快递

 npm install express 

有任何想法吗?

npm install express -g

您需要全局安装它。

Npm 1.0默认在本地安装模块。 所以bash可执行文件位于/node_modules/bin/ 。 您可以将该文件夹添加到PATH或者您可以只在全局安装express ,以便PATH将其拾取

从express 4.00开始,你还需要安装express generator:

 npm install -g express-generator 

只有在这之后,你才能以命令的forms运行快车!

如需确认,请参阅: ExpressJS.com – 迁移至Express 4

我有这个问题,并通过自制程序安装节点。 问题是由家酿造成的。

所以我做了:

 brew uninstall node 

然后使用nodejs.org站点上的安装程序安装节点。

然后我跑了:

 npm install -g express 

瞧,没有问题。

随着Express 4.0.0的发布,它看起来像你需要做sudo npm install -g express-generator.

编辑 2017-06-29:这个答案是6岁以上,但仍然获得投票/交通。 相反(对于任何有问题的新用户),在这个答案之前,我会同时信任NODE_PATH官方文档及其关于REPL用法的相应位 。

与此问题非常相似,节点没有find我的全局快速安装,所以require('express')语句将失败。

什么解决了这个问题,当全局安装没有被节点拿起来确保NODE_PATH env。 variables被设置正确。 在Ubuntu 11.04上,节点版本为0.5.0-pre,path为:

 NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node 

所以,为了澄清你可能想要导出上面的env。 variables,或者你可以通过执行testing上面的值:

 NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node node ./you_app.js 

如果你正在运行Windows:

 export NODE_PATH="C:\Users\IMarek\AppData\Roaming\npm\node_modules" 

我必须做一些事情的组合:

1)从node.js模块path :

 echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.bash_profile && . ~/.bash_profile 

这将在bashconfiguration文件中设置文件path(可以使用nano .bash_profile进行查看

2)由于我需要sudo所以从Raynos稍微修改(上面)

 sudo npm install express -g 

3)从法子稍微修改(以上0,因为我需要sudo

 sudo npm install -g express-generator 

testing你的应用程序:运行DEBUG=myapp:* npm start

参考: http : //expressjs.com/en/starter/generator.html