是否npm install
可以通过命令标志或环境变量指定自定义程序包目标?
默认情况下,npm本地安装最终会在node_modules
当前目录中,但我希望它安装node_modules
在不同的目录中,例如vendor/node_modules
.我怎么能做到这一点?
pje*_*pje 171
您可以使用--prefix
flag和--global
*标志来完成此操作.
pje@friendbear:~/foo $ npm install bower -g --prefix ./vendor/node_modules
bower@0.7.0 /Users/pje/foo/vendor/node_modules/bower
Run Code Online (Sandbox Code Playgroud)
*即使这是一个"全局"安装,除非~/foo/vendor/node_modules
存在,否则无法通过命令行访问已安装的bin PATH
.
每个可配置属性npm
都可以在六个不同的地方设置.按优先顺序排列:
--prefix ./vendor/node_modules
NPM_CONFIG_PREFIX=./vendor/node_modules
$HOME/.npmrc
或userconfig
参数$PREFIX/etc/npmrc
或userconfig
parampath/to/npm/itself/npmrc
默认情况下,本地安装的软件包会进入./node_modules
.全局的进入prefix
配置变量(/usr/local
默认情况下).
您可以运行npm config list
以查看当前配置并npm config edit
进行更改.
一般来说,npm
文档真的很有帮助.该文件夹的部分是新公共管理的一个良好的结构概述和配置部分回答了这个问题.
Rim*_*ian 24
如果你想在配置中这样做,你可以像这样设置npm配置:
npm config set prefix "$(pwd)/vendor/node_modules"
Run Code Online (Sandbox Code Playgroud)
要么
npm config set prefix "$HOME/vendor/node_modules"
Run Code Online (Sandbox Code Playgroud)
检查您的配置
npm config ls -l
或者@pje说并使用--prefix
旗帜
Rya*_*yan 12
对于OSX,您可以转到您的用户$HOME
(可能是/ Users/yourname /),如果它尚不存在,则创建一个.npmrc
文件(npm用于用户配置的文件),并为您的npm包创建一个目录安装在(例如,/ Users/yourname/npm).在.npmrc文件中,将"prefix"设置为新的npm目录,这将是安装"全局"npm软件包的地方.显然,这些"全球"套餐仅适用于您的用户帐户.
在.npmrc中:
prefix=${HOME}/npm
然后从命令行运行此命令:
npm config ls -l
它应该在您自己的本地配置和全局npm配置上提供输出,您应该看到您的本地前缀配置被反映,可能在长输出列表的顶部附近.
为了安全起见,我建议这种方法在CHOWN-ING您的配置您的用户帐户的NPM行为/usr/local
的文件夹,这是我见过的建议在其他地方.
例如,在Windows 7上,可以使用以下命令/操作集.
创建个人环境变量,必须使用双反斜杠:
%NPM_HOME%
C:\\SomeFolder\\SubFolder\\
现在,将配置值设置为新文件夹(示例文件名):
npm config set prefix "%NPM_HOME%\\npm"
npm config set cache "%NPM_HOME%\\npm-cache"
npm config set tmp "%NPM_HOME%\\temp"
(可选)您可以在更改配置之前清除原始文件夹的内容.
删除npm-cache npm cache clear
列出npm模块 npm -g ls
删除npm模块
npm -g rm name_of_package1 name_of_package2
在搜索了这个之后,我想要几个具有共享依赖关系的项目是DRYer,我发现:
require()
require()
bin
和man
路径$PATH
npm link
(info)允许您使用本地安装作为全局变量的源→坚持Node方式并在本地安装
参考:
归档时间: |
|
查看次数: |
156132 次 |
最近记录: |