npm 的配置文件 .npmrc
一、 .npmrc 配置文件的作用
.npmrc,可以理解成npm running cnfiguration, 即npm运行时配置文件。简单点说, .npmrc 可以设置 package.json 中依赖包的安装来源,既从哪里下载依赖包。
二、.npmrc 配置文件的优先级
电脑中有多个 .npmrc 文件,在我们安装包的时候,npm按照如下顺序读取这些配置文件
项目配置文件: /project/.npmrc
用户配置文件:~/.npmrc
全局配置文件:$PREFIX/etc/npmrc
npm 内置配置文件 /path/to/npm/npmrc
# 获取 .npmrc 用户配置文件路径 npm config get userconfig // 如果想恢复默认配置,只需要将用户配置文件~/.npmrc删除即可;
# 获取 .npmrc 全局配置文件路径 $PREFIX npm config get prefix // 如果你不曾配置过全局文件,该文件不存在。
# 获取 npmrc 在npm的路径 which npm // 与npm同级别, 使用which npm获取 npm的路径
三、如何设置 .npmrc
1. 设置项目配置文件
项目下 .npmrc 文件的优先级最高,可以给每个项目配置不同的镜像,项目之间的配置互不影响。
在项目的根目录下新建 .npmrc 文件,在里面以 key=value 的格式进行配置。
registry=https://registry.npmmirror.com
也可以指定特殊的命名空间(scope)的来源。
以@test 开头的包从 registry=https://npm.xx.com 这里下载,其余全去淘宝镜像下载。
registry=https://registry.npmmirror.com @test:registry = https://npm.xx.com
2. 设置用户配置文件
可以直接通过 npm config get userconfig
命令找到该文件的路径,然后直接仿照上述方法该文件,也可以通过 npm config set
命令继续设置
npm config set registry https://registry.npmmirror.com
如果想要删除一些配置,可以直接编辑.npmrc文件,也可以使用命令进行删除,比如
npm config delete registry
3. 设置全局配置文件
方法和设置用户配置文件如出一辙,只不过在使用命令行时需要加上 -g 参数。
npm config set registry https://registry.npmmirror.com -g
4. 给npm 命令添加注册源选项
临时使用淘宝镜像
npm --registry=https://registry.npmmirror.com [npm命令]
不推荐用这种做法,更推荐设置项目配置文件 .npmrc
四、 npm 常用命令
npm config set <key> <value> [-g|--global] //给配置参数key设置值为value; npm config get <key> //获取配置参数key的值; npm config delete <key> [-g|--global] //删除置参数key及其值; npm config list [-l] //显示npm的所有配置参数的信息; npm config edit //编辑用户配置文件 npm get <key> //获取配置参数 key 生效的值; npm set <key> <value> [-g|--global] //给配置参数key设置值为value;
五、yarn
yarn 会读取.npmrc的配置文件,所以不必为yarn再设置一次
六、出现的问题
1. 镜像出错
.npmrc 文件配置了私有包 registry 源,但是当前的下载源是淘宝镜像,可能会报错
error Command failed with exit code 1
可以将当前的下载源改成 私有包 registry 源,如果改了之后还是报错,可以尝试将lock文件,或者node_modules文件删掉,重新开始下载。
原文地址:https://www.cnblogs.com/handsomeziff/p/17093575.html
上一篇: npm/yarn 切换淘宝源代码
推荐阅读
-
php 实现 修改配置文件的示例
-
Hadoop 运行模式 (II)、SSH 未加密登录配置、生成公钥和私钥、群集配置、群集部署规划、默认配置文件、核心配置文件、HDFS 配置文件、YARN 配置文件、MapReduce 配置文件、分发配置的
-
如何在 Linux 下根据域名和普通证书转换自行签发 OpenSSL 证书。 修改 openssl.cnf 配置文件,创建根证书,自行签发泛域证书,将 crt 转换为 pem 格式,生成 p12 格式的
-
解决 npm install 各种报错的 6 种方案 Error:Command failed: cmd.exe autoreconf -ivf 以及gifsicle pre-build test failed 以及其他报错
-
分析 Spring 源代码中的配置文件解析、Bean 创建和生命周期
-
开发人员必看:揭开 NPM 依赖关系管理的复杂面纱
-
修复 vue 对 core-js 版本报告错误的依赖(npm install --save core-js/modules/es6.function.name core-js/modules/es6.number)
-
关于 npm 依赖包漏洞检测与修复的必要知识
-
完成 Windows 域用户漫游设置配置文件的最简单方法!
-
蓝牙 BLE:GATT 配置文件简介(GATT 与 GAP 的比较)