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

时间:2011-05-23 21:14:33

标签: bash node.js express npm

刚刚安装了新的ubuntu vm来测试节点 按此顺序安装的东西:

node
mongodb-server
npm
express
mongoose

现在,尝试创建一个新的app我注意到express不能在shell中使用。 express -v返回 express:未找到命令

我像这样安装了npm

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

我用这种方式表达

npm install express

任何想法?

7 个答案:

答案 0 :(得分:84)

从快递4.00开始,您还需要安装快速生成器:

npm install -g express-generator

只有在此之后才能将express作为命令运行!

有关确认,请参阅:ExpressJS.com - Migrating to Express 4

答案 1 :(得分:39)

npm install express -g

您需要全局安装。

Npm 1.0默认在本地安装模块。所以bash可执行文件存在于/node_modules/bin/中。您可以将该文件夹添加到PATH,也可以全局安装express,以便PATH

选择它

答案 2 :(得分:6)

我遇到了这个问题,并通过Homebrew安装节点。问题是由Homebrew引起的。

所以我做了:

brew uninstall node

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

然后我跑了:

npm install -g express

没问题。

答案 3 :(得分:2)

编辑 2017-06-29:这个答案是6岁以上,但仍然获得投票/流量。相反,(对于任何有问题的新用户)在此回答之前我会信任NODE_PATH official doc及其corresponding bit about REPL usage

与此问题非常相似,节点未找到我的全局快速安装,因此require('express')语句将失败。

为我解决了这个问题,当节点没有选择全局安装时,确保NODE_PATH env. variable被正确设置。 在Ubuntu 11.04上,节点版本为0.5.0-pre,路径为:

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

所以,澄清你可能想要导出上面的env。变量,或者您可以通过执行以下操作来测试上述值:

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

答案 4 :(得分:2)

随着Express 4.0.0的发布,您似乎需要执行sudo npm install -g express-generator.

答案 5 :(得分:2)

我必须做一些事情:

  1. 来自node.js modules path

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

    这会在bash配置文件中设置文件路径(可以使用nano .bash_profile

  2. 查看
  3. 由于我需要sudo,因此从Raynos(上图)稍作修改:

    sudo npm install express -g
    
  4. 由于我需要sudo,我从Fazi(上图)稍作修改:

    sudo npm install -g express-generator
    
  5. 测试您的应用程序:

    run `DEBUG=myapp:* npm start`
    

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

答案 6 :(得分:0)

如果您正在运行Windows:

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