使用 npm 私有仓库安装依赖遇到的坑

最近项目部署的时候时常遇到访问 npm 官方仓库网络抽疯的现象,决定尝试一下公司内部新搭建的私有仓库(使用的 cnpm)。切换个仓库这么简单的事没想到遇到两个大坑,记录一下:tarball url 指向不正确问题:用npm i --registry=https://rnpm.xxxxx.com xxx 命令安装时,结果却到 r.cnpmjs.org 这个域下面下载tar包。 原因:仓库的regis
摘要由CSDN通过智能技术生成

最近项目部署的时候时常遇到访问 npm 官方仓库网络抽疯的现象,决定尝试一下公司内部新搭建的私有仓库(使用的 cnpm)。切换个仓库这么简单的事没想到遇到两个大坑,记录一下:

tarball url 指向不正确

问题:用npm i --registry=https://rnpm.xxxxx.com xxx 命令安装时,结果却到 r.cnpmjs.org 这个域下面下载tar包。
原因:仓库的registryHost配置错误。

项目部署的时候大部分依赖包还是去官方仓库下载

问题:使用npm i --registry=https://rnpm.xxxxx.com命令安装依赖的时候发现registry参数似乎不起作用,绝大多数包居然又到官方的仓库去拉取数据(包括 metadata 和 tarball),但奇怪的是居然还有两三个包是正常的到 rnpm.xxxxx.com 域去下载数据了。

原因:因为用 npm shrinkwrap 命令锁定了依赖,而 npm-shrinkwrap.json 里有个 resolved字段,这个字段指定了tarball下载的地址,npm使用这个地址下载了真正的依赖包。

解决办法:目前还没有好的解决办法,暂时先替换掉resolved字段里的 url,npm@5之后的版本应该会

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
安装依赖时出现npm ERR! code ENOTFOUND和npm ERR! errno ENOTFOUND的错误通常是与网络连接有关的问题。这可能是由于你的网络设置有问题或者你处于一个代理后面。解决此问题的方法有几种。 首先,你可以检查你的网络设置,确保你的网络连接正常。你可以尝试使用其他的网络来确认是否是网络问题引起的。 其次,你可以尝试更换npm的镜像源。默认情况下,npm的镜像源是国外的,可能会受到网络速度的影响。你可以使用淘宝镜像或者国内npm官方镜像来加快下载速度。你可以通过运行以下命令来更换npm的镜像源: ``` npm config set registry http://registry.npm.taobao.org/ ``` 或者 ``` npm config set registry http://registry.cnpmjs.org/ ``` 如果你使用的是私有npm仓库,你可能还需要检查你的代理设置。你可以通过运行以下命令来查看你的代理配置: ``` npm config get proxy ``` 如果你的代理配置不正确,可以通过运行以下命令来设置正确的代理: ``` npm config set proxy http://your-proxy-url ``` 如果以上方法仍然不能解决问题,你可以尝试使用其他的npm registry来下载依赖。有时候,特定的registry可能会出现问题。你可以尝试使用其他可用的registry来解决此问题。 希望以上方法能帮助你解决npm安装依赖报错的问题。如果仍然遇到困难,请参考npm的官方文档或寻求进一步的技术支持。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [npm安装依赖报错npm ERR code ENOTFOUND npm ERR errno ENOTFOUND](https://blog.csdn.net/qq_50497708/article/details/128322810)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [【Debug】npm下载报错:npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT](https://blog.csdn.net/qq_41675812/article/details/129507273)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值