Answers:
如果要全局安装npm模块,请确保使用new -g
标志,例如:
npm install forever -g
从1.0rc开始有关npm模块安装的一般建议(摘自blog.nodejs.org):
- 如果要安装要在程序中使用的东西,请使用require('whatever'),然后在项目的根目录本地安装。
- 如果要在外壳程序中安装要使用的东西,在命令行或其他东西上,请全局安装它,以便其二进制文件最终位于PATH环境变量中。
我最近才使用了此建议,并且下降得非常顺利。我永远在全球范围内安装(因为它是一个命令行工具),所有我的应用程序模块都在本地安装。
但是,如果要全局使用某些模块(即express或mongodb),请遵循以下建议(也来自blog.nodejs.org):
当然,在某些情况下您需要同时执行这两种操作。Coffee-script和Express都是具有命令行界面和库的应用程序的很好示例。在这种情况下,您可以执行以下任一操作:
- 在两个地方都安装它。说真的,您的磁盘空间不足吗?很好,真的。它们是很小的JavaScript程序。
- 全局安装它,然后安装npm link coffee-script或npm link express (如果您在支持符号链接的平台上。)然后,只需更新全局副本即可更新所有符号链接。
我认为第一种选择是最好的。简单,清晰,明确。如果要在多个不同项目中重用同一库,第二个方法非常方便。(在以后的文章中,有关npm的更多链接。)
我没有测试这些变体之一,但是它们看起来非常简单。
npm prefix
以获取本地前缀,并node prefix -g
查看全局前缀:)
在Mac上,我发现输出包含了我正在寻找的信息:
$> npm install -g karma
...
...
> ws@0.4.25 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
...
$> ls /usr/local/share/npm/bin
karma nf
在我/usr/local/share/npm/bin
的export PATH
行中添加.bash_profile
,保存并添加后source
,我可以运行
$> karma --help
一般。
我在Ubuntu上安装Express时遇到问题:
如果由于某种原因缺少NPM命令,请使用来测试npm命令npm help
。如果不存在,请执行以下步骤-http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntu
如果仅Express命令不起作用,请尝试:
sudo npm install -g express
这使一切正常工作,就像我过去使用Windows7和OSX一样。
希望这可以帮助!
您需要具有超级用户权限,
sudo npm install -g <package name>
在Ubuntu中,在.bashrc文件中设置node_modules的路径
导出PATH =“ / home / username / node_modules / .bin:$ PATH”
您可能没有写权限,无法在全局位置(例如)安装节点模块/usr/local/lib/node_modules
,在这种情况下,请以root用户身份运行npm install -g软件包。