.npmrc配置文件
.npmrc
是一个用于配置 npm 行为的文件。这个文件可以位于多个地方,但最常见的是位于项目目录或者你的用户主目录。npmrc文件由一系列键值对组成,用于配置npm在执行命令时的行为和参数。
一个 .npmrc
文件的例子可能包含以下内容:
# 指定 npm 从哪个注册表服务器下载包
registry=https://registry.npmjs.org/#缓存存放目录
cache=/path/to/npm-cache
使用作用域包
作用域包是一种有层次结构的npm软件包命名规范,通常用于将相关的模块组织在一起。如果我们希望将所有作用域包的下载路径指定到一个统一的目录,可以配置@scope:registry
:
@myscope:registry=https://registry.example.com/
这在企业私有环境下也是非常常见的,比如需要安装cnpm镜像下的某个作用域包,可以指定其来源而不需要切换镜像。
企业内网下的源管理
例如,在企业内网中的Gitlab或者是Jenkins运行包安装的过程中,几乎使用的是私有源,而这些镜像可能并不频繁更新,当你想要使用社区的先进版本时就有可能会404,所以可以默认配置:
registry=https://registry.npm.taobao.org/
而对于发布在私有源的,则可以使用作用域包,二者写在一起,其中作用域包优先级更高:
registry=https://registry.npm.taobao.org/
@myscope:registry=https://registry.example.com/
管理依赖的存储路径
在默认情况下,npm将依赖安装到项目根目录下的node_modules
文件夹中。但在某些情况下,我们可能希望将依赖安装到其他目录,例如统一管理全局依赖。这时,可以配置prefix
来指定全局依赖的存储路径:
prefix=/path/to/global/node_modules
要注意的是,.npmrc
文件中的配置项可以有多个来源,包括全局的、用户级别的和项目级别的。如果不同级别的 .npmrc
文件有冲突的设置,npm 会按照以下优先级顺序应用配置:项目级别 .npmrc
> 用户级别 .npmrc
> 全局 .npmrc
。