为了账号安全,请及时绑定邮箱和手机立即绑定

如何设置本地安装npm包的自定义位置?

如何设置本地安装npm包的自定义位置?

Cats萌萌 2019-08-26 15:10:12
如何设置本地安装npm包的自定义位置?是否npm install可以通过命令标志或环境变量指定自定义程序包目标?默认情况下,npm本地安装最终会在node_modules当前目录中,但我希望它安装node_modules在不同的目录中,例如vendor/node_modules。我怎么能做到这一点?
查看完整描述

3 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

您可以使用--prefixflag和--global*标志来完成此操作。

pje@friendbear:~/foo $ npm install bower -g --prefix ./vendor/node_modules
bower@0.7.0 /Users/pje/foo/vendor/node_modules/bower

*即使这是一个“全局”安装,除非~/foo/vendor/node_modules存在,否则无法通过命令行访问已安装的bin PATH

每个可配置属性npm都可以在六个不同的地方设置。按优先顺序排列:

  • 命令行标志: --prefix ./vendor/node_modules

  • 环境变量: NPM_CONFIG_PREFIX=./vendor/node_modules

  • 用户配置文件: $HOME/.npmrcuserconfig参数

  • 全局配置文件: $PREFIX/etc/npmrcuserconfigparam

  • 内置配置文件: path/to/npm/itself/npmrc

  • 默认配置: node_modules / npmconf / config-defs.js

默认情况下,本地安装的软件包会进入./node_modules。全局的进入prefix配置变量(/usr/local默认情况下)。

您可以运行npm config list以查看当前配置并npm config edit进行更改。

PS

一般来说,npm文档真的很有帮助。该文件夹的部分是新公共管理的一个良好的结构概述和配置部分回答了这个问题。


查看完整回答
反对 回复 2019-08-26
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

如果你想在配置中这样做,你可以像这样设置npm配置:

npm config set prefix "$(pwd)/vendor/node_modules"

要么

npm config set prefix "$HOME/vendor/node_modules"

检查您的配置

npm config ls -l

或者@pje说并使用--prefix旗帜


查看完整回答
反对 回复 2019-08-26
?
白板的微信

TA贡献1883条经验 获得超3个赞

对于OSX,您可以转到您的用户$HOME(可能是/ Users / yourname /),如果它尚不存在,则创建一个.npmrc文件(npm用于用户配置的文件),并为您的npm包创建一个目录安装在(例如,/ Users / yourname / npm)。在.npmrc文件中,将“prefix”设置为新的npm目录,这将是安装“全局”npm软件包的地方。显然,这些“全球”套餐仅适用于您的用户帐户。

在.npmrc中:

prefix=${HOME}/npm

然后从命令行运行此命令:

npm config ls -l

它应该在您自己的本地配置和全局npm配置上提供输出,您应该看到您的本地前缀配置被反映,可能在长输出列表的顶部附近。

为了安全起见,我建议使用这种方法来配置您的用户帐户的npm行为/usr/local,而不是在我的其他地方看到的文件夹。


查看完整回答
反对 回复 2019-08-26
  • 3 回答
  • 0 关注
  • 1968 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信