各位前端朋友 ,有没有遇到我这种npm i 报错的问题。
公司内网,无法连外网,使用公司内部的Nexus镜像源
我在公司内网执行npm i 报错,报network连接失败。
我都已经在npm设置了内部镜像源,它为啥还要去外网下载呢。而且内部镜像源有npm-8.3.1.tgz这个包。
(同样的代码,我拿到外网就能执行成功,并且能启动起来)
下面是报错信息
E:\work\testinstall\test>npm i
npm ERR! code ETIMEDOUT
npm ERR! syscall connect
npm ERR! errno ETIMEDOUT
npm ERR! network request to https://registry.npmmirror.com/npm/download/npm-8.3.
1.tgz failed, reason: connect ETIMEDOUT 220.181.125.241:443
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settin
gs.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\KF6798\AppData\Local\npm-cache\_logs\2023-08-21T14_05_01_5
66Z-debug-0.log
【以下回答由 GPT 生成】
这个问题可能是由于npm的配置问题导致的。你可以尝试按照以下步骤解决这个问题:
npm config list
确保你已经正确配置了公司的Nexus镜像源。检查以下配置项是否正确设置:
registry=http://your-nexus-url/repository/npm-group/ https-proxy=http://your-proxy-url http-proxy=http://your-proxy-url strict-ssl=false
注意:如果你没有为npm配置代理信息,你需要咨询你公司的IT部门获取正确的代理URL。
npm cache clean --force
这将清除npm的缓存,以便重新下载依赖。
删除项目文件夹中的package-lock.json
文件和node_modules
文件夹。然后重新运行npm i
。
如果上述步骤没有解决问题,尝试使用npm config
命令将配置直接设置到项目的.npmrc
文件中,可以通过以下命令:
npm config set registry http://your-nexus-url/repository/npm-group/ --global npm config set https-proxy http://your-proxy-url --global npm config set http-proxy http://your-proxy-url --global npm config set strict-ssl false --global
然后再次运行npm i
。
如果上述步骤都没有解决问题,可能是由于其他原因导致的,比如网络连接问题或者公司的网络策略限制。你可以联系你公司的IT部门获取更多支持。
报错信息显示 你的镜像地址 https://registry.npmmirror.com/
运行 npm get registry 看看到底是多少