使用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