最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • NRM 使用笔记

    正文概述 掘金(古纪)   2021-08-17   695

    NRM 使用笔记

    1. 为什么使用 nrm

    为了方便切换不同npm镜像源
    比如有个项目是基于npm官方镜像的,另一个项目基于cnpm; 这样不同项目更新依赖需要通过npm config set registry <path>来切换比较麻烦。

    2. 安装使用

    # 全局安装
    npm install -g nrm
    # 新增公司的仓库地址
    nrm add myCompany https://work.company.com/repository/npm/
    

    Windows 下使用会报错:

    # 尝试新增一个镜像地址
    nrm add myCompany https://work.company.com/repository/npm/
    # 抛出如下错误
    internal/validators.js:124
        throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
        ^
    
    [TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
      at validateString (internal/validators.js:124:11)
      at Object.join (path.js:402:7)
      # 直接定位这个文件修改源码
      at Object.<anonymous> (C:\Users\10306\AppData\Roaming\nvm\v14.17.0\node_modules\nrm\cli.js:17:20)
      at Module._compile (internal/modules/cjs/loader.js:1068:30)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
      at Module.load (internal/modules/cjs/loader.js:933:32)
      at Function.Module._load (internal/modules/cjs/loader.js:774:14)
      at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
      at internal/main/run_main_module.js:17:47
    ] {
      code: 'ERR_INVALID_ARG_TYPE'
    }
    

    定位到C:\XXX\XXX\AppData\Roaming\nvm\v14.17.0\node_modules\nrm\cli.js:17:20,修改源码:

    // const NRMRC = path.join(process.env.HOME, '.nrmrc');
    const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');
    

    保存以后就可以正常使用 nrm 功能:

    # 1. 新增一个镜像
    nrm add myCompany https://work.company.com/repository/npm/
    # 输出以下内容表示添加成功
      add registry myCompany success
    
    # 2. 查看所有镜像
    nrm ls
    # 输出以下内容可以看到所有地址 标注*的表示当前环境使用
      npm -------- https://registry.npmjs.org/
      yarn ------- https://registry.yarnpkg.com/
      cnpm ------- http://r.cnpmjs.org/
    * taobao ----- https://registry.npm.taobao.org/
      nj --------- https://registry.nodejitsu.com/
      npmMirror -- https://skimdb.npmjs.com/registry/
      edunpm ----- http://registry.enpmjs.org/
      myCompany ------ https://work.company.com/repository/npm/
    
    # 3. 切换镜像
    nrm use myCompany
    # 输出以下表示切换成功哦
      Registry has been set to: https://work.company.com/repository/npm/
    

    切换完成后就可以在项目中执行npm i来安装私服的依赖包了。 将来想要使用 npm 官方镜像的库创建项目,只需在创建前执行nrm use npm即可。

    The End. Posted by Jimmy Gu, 8/16.


    下载网 » NRM 使用笔记

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元