(全局npmrc)nrm、npmrc、package-lock.json 的优先级
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 肯定优先级更高一些。
(全局npmrc)nrm、npmrc、package-lock.json 的优先级的更多相关文章
- [Go] 轻量服务器框架全局配置的实现以及解析json
在一个应用中经常需要有一个配置文件,可以对代码中的参数进行配置,可以使用一个json文件来对应一个struct的对象,进行全局配置 建一个conf/zinx.json作为配置文件 { "Na ...
- Spring Boot @ControllerAdvice 处理全局异常,返回固定格式Json
需求 在构建RestFul的今天,我们一般会限定好返回数据的格式比如: { "code": 0, "data": {}, "msg": ...
- 详解package-lock.json的作用
目录 详解package-lock.json package-lock.json的作用 版本号的定义规则与前缀对安装的影响 改动package.json后依旧能改变项目依赖的版本 当前项目的真实版本号 ...
- vue.config.json CopyWebpackPlugin 没有生效
本地生效,服务器不生效. 因为是jenkinis构建,没有留意到报错.后来发现错误:ENOENT: no such file or directory, rename 解决方法就是:删除package ...
- 解决npm ERR!Unexpected end of JSON input while paring near (解析附近时JSON输入意外结束)'...."^2.0.0-rc.0","glob"'等npm install错误
摘要 最近更新了一次node,但是更新后npm的命令总是会报 npm WARN deprecated fsevents@2.0.6: Please update: there are crash fi ...
- NPM使用方法
什么是npm npm是nodejs的包管理器,在当今工程化前端开发过程中,npm包起着举足轻重的作用. 安装npm 作为nodejs的包管理器,npm随着nodejs一起安装的.通常情况下,当我们安装 ...
- vue-cli中webpack配置详解
vue-cli是构建vue单页应用的脚手架,命令行输入vue init <template-name> <project-name>从而自动生成的项目模板,比较常用的模板有we ...
- vue-cli脚手架中webpack配置基础文件详解
一.前言 原文:https://segmentfault.com/a/1190000014804826 vue-cli是构建vue单页应用的脚手架,输入一串指定的命令行从而自动生成vue.js+wep ...
- Settings-Sync插件源码阅读
一.介绍 请参考官网: https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync 二.源码目录详解 Ima ...
随机推荐
- Linux设置主机名与hosts映射
目的 方便操作,便于建立Linux集群. 设置主机名 查看主机名:hostname 设置主机名,修改/etc/hosts:vim /etc/hostname 通过主机名ping通 原理 通过hosts ...
- netty系列之:netty对SOCKS协议的支持
目录 简介 SocksMessage Socks4Message Socks5Message 总结 简介 SOCKS是一个优秀的网络协议,主要被用来做代理,它的两个主要版本是SOCKS4和SOCKS5 ...
- C语言 Make命令教程
make只是一个根据指定的Shell命令进行构建的工具 在linux和unix中,有一个强大的使用程序,叫make,可以用它来管理多模块程序的编译和链接,直至生成可执行文件 make使用程序读取一个说 ...
- Clickhouse的MergeTree表引擎存储结构
MergeTree存储的文件结构 一张数据表被分成几个data part,每个data part对应文件系统中的一个目录.通过以下SQL可以查询data parts的信息. select table, ...
- vue项目配置及代理解决跨域
axios数据请求 1.下载模块:npm install axios 2.axios特点: 1.支持在浏览器当中发起XMLHttpRequest请求 2.支持Promise 3.自动转换json数据 ...
- 灵雀云入选Gartner 2020中国ICT技术成熟度曲线报告,容器技术处于顶峰
近日,全球权威咨询分析机构Gartner发布了"2020中国ICT技术成熟度曲线(Hype Cycle for ICT in China, 2020 )"报告,灵雀云作为国内容器和 ...
- k8s中的nginx-ingress如何配置路径重定向
k8s中的nginx-ingress如何配置路径重定向 一. 需求描述 路径重定向的一般应用场景: 调整用户浏览的URL,看起来更规范 为了让搜索引擎收录网站内容,让用户体验更好 网站更换新域名后 根 ...
- C 库函数 - pow()
1.C 标准库 - <math.h> 2.C 库函数 double pow(double x, double y) 返回 x 的 y 次幂,即 xy. 3.pow() 函数的声明. dou ...
- Boost下载安装
下载解压 官方地址 wget https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz tar -zxvf b ...
- 【失败经验分享】android下使用支持opencl的cv::dft()
1.使用了UMat,但是并未使用GPU计算 cv::dft()函数的定义是: void cv::dft( InputArray _src0, OutputArray _dst, int flags, ...