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 的优先级的更多相关文章

  1. [Go] 轻量服务器框架全局配置的实现以及解析json

    在一个应用中经常需要有一个配置文件,可以对代码中的参数进行配置,可以使用一个json文件来对应一个struct的对象,进行全局配置 建一个conf/zinx.json作为配置文件 { "Na ...

  2. Spring Boot @ControllerAdvice 处理全局异常,返回固定格式Json

    需求 在构建RestFul的今天,我们一般会限定好返回数据的格式比如: { "code": 0,  "data": {},  "msg": ...

  3. 详解package-lock.json的作用

    目录 详解package-lock.json package-lock.json的作用 版本号的定义规则与前缀对安装的影响 改动package.json后依旧能改变项目依赖的版本 当前项目的真实版本号 ...

  4. vue.config.json CopyWebpackPlugin 没有生效

    本地生效,服务器不生效. 因为是jenkinis构建,没有留意到报错.后来发现错误:ENOENT: no such file or directory, rename 解决方法就是:删除package ...

  5. 解决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 ...

  6. NPM使用方法

    什么是npm npm是nodejs的包管理器,在当今工程化前端开发过程中,npm包起着举足轻重的作用. 安装npm 作为nodejs的包管理器,npm随着nodejs一起安装的.通常情况下,当我们安装 ...

  7. vue-cli中webpack配置详解

    vue-cli是构建vue单页应用的脚手架,命令行输入vue init <template-name> <project-name>从而自动生成的项目模板,比较常用的模板有we ...

  8. vue-cli脚手架中webpack配置基础文件详解

    一.前言 原文:https://segmentfault.com/a/1190000014804826 vue-cli是构建vue单页应用的脚手架,输入一串指定的命令行从而自动生成vue.js+wep ...

  9. Settings-Sync插件源码阅读

    一.介绍 请参考官网: https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync 二.源码目录详解 Ima ...

随机推荐

  1. 使用 JavaScript 用循环嵌套输出乘法表。外循环控制行数,内循环控制当前行要输出的乘法表达式,在页面上输出九九乘法表

    查看本章节 查看作业目录 需求说明: 在页面上输出九九乘法表,实现效果如图所示 实现思路: 创建HTML页面 在页面中嵌入 <script type="text/javascript& ...

  2. Android开发案例 点击按钮出现 简易的消息提示框

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  3. springboot配置health接口

    springboot配置health接口 spring-boot-starter-actuator 健康监控配置及使用 这样是可以看到一些结果的 如果在配置文件中用了下面这个,也是可以生效的 # 不进 ...

  4. YangTools从YANG生成Java类(Maven)

    1.说明 ODL提供了Yang Tools工具从YANG文件生成Java类, 本文介绍使用Maven插件的方式生成, 基于yang-maven-plugin这个插件. 2.创建Maven工程 Ecli ...

  5. 使用VUE组件创建SpreadJS自定义单元格(一)

    作为近五年都冲在热门框架排行榜首的Vue,大家一定会学到的一部分就是组件的使用.前端开发的模块化,可以让代码逻辑更加简单清晰,项目的扩展性大大加强.对于Vue而言,模块化的体现集中在组件之上,以组件为 ...

  6. CentOS 系统 查看 cpu核数

    转载自 :Centos下查看cpu核数 - 韩憨 - 博客园 (cnblogs.com) 1.概念物理CPU:实际Server中插槽上的CPU个数.物理cpu数量:可以数不重复的 physical i ...

  7. win10 安装vb -打开后一直显示无响应-解决

    1.成功安装vb ,美滋滋的运行 ,但是一直卡在无响应状态, 2.解决 使用管理员权限打开即可,也可以更改兼容为win7/8, 神奇的是,我这电脑自用过一次管理员权限打开,后面再使用vb可以不用管理员 ...

  8. SpringBoot学习笔记三之表述层

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6803355920697917965/ 首先配置learn-admin-webui中的web.xml文件 配置Con ...

  9. vue中使用两个window.onresize问题解决

    在vue开发中,因为引用的父组件和子组件都使用了window.onresize以至于一个window.onresize失效.找了下解决方案,可以采用下面的方式写就可以了. window.onresiz ...

  10. vue注册全局组件

    在项目开发中能不能自己写一个组件可以像iview或者element那样可以不必引用就可以直接用呢?答案是可以的. 首先,写一个组件mainHeader. 接着在vue中注册这个组件,代码如下: Vue ...