(全局npmrc)nrm、npmrc、package-lock.json 的优先级
2024-09-04 08:36:23
npmrc
测试 nrm、npmrc 的优先级
实验
1. 没有设置 nrm。
默认设置 registry 为 https://registry.npmjs.org/
下载的所有包都是通过以上域名获取。
2. nrm use yarn。
设置 registry 为 https://registry.yarnpkg.com/。
看源码可知实际做的事情是
npm.commands.config(['set', 'registry', registry.registry], function (err, data) {
if (err) return exit(err);
console.log(' ');
var newR = npm.config.get('registry');
printMsg([
'', ' Registry has been set to: ' + newR, ''
]);
})
即
npm set registry 'https://registry.yarnpkg.com/'
效果为
cat ~/.npmrc
registry=https://registry.yarnpkg.com/
安装结果是从 registry.yarnpkg.com 里面下包。
3. 本地使用 npmrc。
当前项目操作
touch .npmrc
在 npmrc 里面填写,
vim .npmrc
registry=https://registry.npm.taobao.org/
安装结果是从 registry.npm.taobao.org 里面下包。
4. 使用本地 npmrc + nrm。
有本地 npmrc 的时候,执行
nrm ls
输出的目录是 npmrc 上设置的目录。
5. 使用本地 npmrc + package-lock.json
这个分两种情况。
直接执行
npm i
将从 package-lock 中获取文件的下载地址。如果执行的是
npm i <package>
将从 npmrc 中获取下载地址,并更新 package-lock。
6. npm i chai –registry https://registry.yarnpkg.com/
效果与只使用
.npmrc
一致。
总结
.npmrc
的配置文件与
package-lock.json
的配置文件优先级是比较高的。
其次才是 nrm 的配置项。
nrm
其实是设置了 global 的 npmrc。项目下的 npmrc 肯定优先级更高一些。
最新文章
- tomcat启动超时问题
- Vs2013 头文件注释
- Swift开发第九篇——Any和AnyObject&;typealias和泛型接口
- RobotFramework——介绍篇
- ajax提交复杂对象数据
- SQL Server 2008 R2导出数据脚本的方法
- PHP 表单添加隐藏 Token 阻止外部提交
- 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。
- (转)Eclipse New Server 【无法输入server name】
- JAVA中文件与Byte数组相互转换的方法
- Git 解决一个电脑多用户情况(win7)
- Flyway数据表迁移框架的使用
- swoole 基础知识
- IE8 input X 去掉文本框的叉叉和密码输入框的眼睛图标
- 洛谷 P4389: 付公主的背包
- UVA-12186 Another Crisis (树状DP)
- OpenLayers在地图上显示统计图,饼图线状图柱状图,修复统计图跳动的问题
- 【性能测试】:关于loadrunner11录制Chrome浏览器脚本的方法
- Vue2基于Axios Ajax Vuex的Loading组件
- Apache和Nignx基于三种方式搭建web站点并设置用户访问控制达到优化整个站点性能
热门文章
- <;学习opencv>; opencv 概述及初探
- <;数据结构>;由SearchTree的遍历序列确定树
- Mysql 设计超市经营管理系统,包括员工库存表(stock) 和 仓库表(warehouse)
- Parallel.ForEach 之 MaxDegreeOfParallelism
- spring-Ioc学习笔记
- List<;FieldModelBase>; 转 DataTable
- CentOS7端口被占用的解决办法
- linux 三剑客(持续更新)排版后续再说,边学边记笔记
- 第10组 Alpha冲刺 (3/6)(组长)
- vue 使用mock来模拟数据