我最近在OSX上安装了Node.js和npm模块,并且我认为设置有问题:
npm install [MODULE] is not installing the node.js module to the default path which is /usr/local/lib/node_modules.
schaermu.. 336
如果要全局安装npm模块,请确保使用新-g
标志,例如:
npm install forever -g
自1.0rc以来关于npm模块安装的一般建议(取自blog.nodejs.org):
如果您要在程序中安装要使用的东西,请使用require('whatever'),然后在项目的根目录下在本地安装.
如果您要在shell中安装要在shell中使用的东西,请在命令行或其他东西上安装它,以便全局安装它,以便它的二进制文件最终位于PATH环境变量中.
我最近刚刚使用了这些建议,并且它很顺利.我全局安装(因为它是一个命令行工具)和本地所有的应用程序模块.
但是,如果您想全局使用某些模块(即express或mongodb),请采用此建议(也来自blog.nodejs.org):
当然,在某些情况下,您希望同时执行这两项操作.Coffee-script和Express都是具有命令行界面的应用程序以及库的良好示例.在这些情况下,您可以执行以下操作之一:
在两个地方安装它.说真的,你的磁盘空间不足吗?这很好,真的.它们是一个很小的JavaScript程序.
全局安装,然后npm link coffee-script或npm link express (如果你在支持符号链接的平台上.)那么你只需要更新全局副本来更新所有的符号链接.
在我看来,第一个选项是最好的.简单,清晰,明确.如果要在一堆不同的项目中重用相同的库,第二个非常方便.(有关未来分期中npm链接的更多信息.)
我没有测试其中一个变体,但它们看起来非常简单.
如果要全局安装npm模块,请确保使用新-g
标志,例如:
npm install forever -g
自1.0rc以来关于npm模块安装的一般建议(取自blog.nodejs.org):
如果您要在程序中安装要使用的东西,请使用require('whatever'),然后在项目的根目录下在本地安装.
如果您要在shell中安装要在shell中使用的东西,请在命令行或其他东西上安装它,以便全局安装它,以便它的二进制文件最终位于PATH环境变量中.
我最近刚刚使用了这些建议,并且它很顺利.我全局安装(因为它是一个命令行工具)和本地所有的应用程序模块.
但是,如果您想全局使用某些模块(即express或mongodb),请采用此建议(也来自blog.nodejs.org):
当然,在某些情况下,您希望同时执行这两项操作.Coffee-script和Express都是具有命令行界面的应用程序以及库的良好示例.在这些情况下,您可以执行以下操作之一:
在两个地方安装它.说真的,你的磁盘空间不足吗?这很好,真的.它们是一个很小的JavaScript程序.
全局安装,然后npm link coffee-script或npm link express (如果你在支持符号链接的平台上.)那么你只需要更新全局副本来更新所有的符号链接.
在我看来,第一个选项是最好的.简单,清晰,明确.如果要在一堆不同的项目中重用相同的库,第二个非常方便.(有关未来分期中npm链接的更多信息.)
我没有测试其中一个变体,但它们看起来非常简单.
在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
一般.