zoukankan      html  css  js  c++  java
  • (全局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 肯定优先级更高一些。

  • 相关阅读:
    第四周助教小结 北软
    第二周工作小结 北软
    第六周助教小结 北软
    第七周周小结 北软
    第八周周小结 北软
    几句话了解元数据(Metadata)
    App测试点(二)
    Pytest单元测试
    UnitTest单元测试
    【模板】单源最短路径
  • 原文地址:https://www.cnblogs.com/ysk123/p/11577545.html
Copyright © 2011-2022 走看看