npm ERR! FetchError: request to localhost 4873 zrender

npm ERR! FetchError: request to localhost 4873 zrender

problem

verdaccio搭建私服,本地机器作为客户端使用localhost:4873或者ip:4873,拉取npm包,或者发布npm包 都正常
但是换台新机器作为客户端,使用server ip地址
执行命令是:npm install --registry http://192.168.43.213:4873/
拉取npm包总是失败,报错信息是

npm ERR! FetchError: request to http://localhost:4873/zrender/-/zrender-5.4.4.tgz failed, reason: 
npm ERR!     at ClientRequest. (/usr/local/lib/node_modules/npm/node_modules/minipass-fetch/lib/index.js:130:14)
npm ERR!     at ClientRequest.emit (node:events:514:28)
npm ERR!     at _destroy (node:_http_client:875:13)
npm ERR!     at onSocketNT (node:_http_client:895:5)
npm ERR!     at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

reason

很奇怪,server端监听的是ip地址,客户端使用的也是ip地址为什么不行?

solution

网上搜索没找到办法

  • 搜索错误信息: 没人遇到
  • xxx github issues: issues里没有
  • xxx 遇到的问题:没有遇到
  • 网络问题: 关闭代理 没有作用

自己的尝试

// 方法1 将代理设置为空: 不行
npm config set proxy null
npm config set https-proxy null
npm config list //  https-proxy = null  proxy = null 

// 方法2 将代理设置为淘宝: 不行
npm config set proxy https://registry.npm.taobao.org/
npm config set https-proxy https://registry.npm.taobao.org/
npm config list //  https-proxy 和 proxy 不为空 

// 方法3 指定ip源 (为什么会指定去localhost呢?): 不行
npm install --registry http://192.168.43.213:4873/  

// 方法4 关闭设备代理 : 不行

// 方法5 server端配置ng,客户端使用域名访问? 不行
// 服务端使用ng
server {
  listen 80;
  server_name npm.company.net;
  location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_pass http://192.168.43.213:4873/;
  }
}
// 客户端步骤
1. 关闭代理  
2. 配置 /etc/host: 192.168.43.213 npm.company.net
3. 浏览器访问 http://npm.company.net/  网页无法登录因为it violates the document's Content Security Policy. 但是不影响控制台使用
npm config set registry=http://npm.company.net/
npm login
npm instsall 

// 方法6 删除lock文件 不行
rm yarn.lock 
rm package-lock.json


// 方法6 发布包的地方制定源 不行
npm publish --registry http://192.168.43.213:4873/  


// 方法7 server修改端口号 4873 改为 4888 可行  ✅ 
// server使用ng代理80端口也可行 注意关闭本地代理❗
npm install --registry http://192.168.43.213:4888/  
npm install --registry http://npm.company.net/ 

你可能感兴趣的:(pits,npm,前端,node.js)