You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用npm v3.10.10安装mfpmigrate-cli时出现404错误求助

解决npm安装mfpmigrate-cli时的fetch失败问题

你在使用npm v3.10.10和node v6.11.4安装mfpmigrate-cli时遇到的fetch failed错误,本质是npm无法从内部Nexus仓库拉取指定的依赖包。下面是几个实用的解决方案,你可以逐一尝试:

1. 先验证仓库的网络连通性

首先得确认你的机器能正常访问那个内部Nexus仓库:

  • 用ping命令测试域名可达性:ping visustar.francelab.fr.ibm.com
  • 用curl测试仓库地址是否能正常访问:curl http://visustar.francelab.fr.ibm.com:8081/nexus/content/groups/mobile-npm-all/
    如果是公司内网环境,大概率需要配置代理,检查当前npm的代理设置:
npm config get proxy
npm config get https-proxy

如果没有配置代理,按照公司的代理信息设置:

npm config set proxy http://你的代理地址:端口
npm config set https-proxy http://你的代理地址:端口

2. 清理npm缓存后重试

旧的缓存文件可能损坏或者过期,导致拉取失败,执行以下命令清理缓存:

npm cache clean --force

清理完成后,重新执行安装命令:npm install -g mfpmigrate-cli

3. 检查并修正npm仓库配置

确认你的npm registry确实指向了内部的Nexus仓库:

npm config get registry

如果输出不是目标仓库地址,执行命令修改:

npm config set registry http://visustar.francelab.fr.ibm.com:8081/nexus/content/groups/mobile-npm-all/

如果内部仓库同步有问题,且公司允许的话,可以临时切换到官方npm仓库尝试安装:

npm config set registry https://registry.npmjs.org/
npm install -g mfpmigrate-cli
# 安装完成后记得切回内部仓库
npm config set registry http://visustar.francelab.fr.ibm.com:8081/nexus/content/groups/mobile-npm-all/

4. 手动安装失败的依赖包

如果只有个别包(比如mockery-1.7.0、readdir-recursive-0.0.4)拉取失败,可以手动从官方npm仓库下载对应的tgz包,然后先安装这些依赖:

# 示例:安装mockery
npm install /path/to/mockery-1.7.0.tgz

依赖安装完成后,再尝试安装mfpmigrate-cli。

5. 升级npm版本(备选方案)

你当前使用的npm v3.10.10版本比较老旧,可能存在一些网络请求的已知bug。由于node v6.11.4兼容npm v4.x版本,可以尝试升级到兼容的最新npm版本:

npm install -g npm@4.6.1

升级完成后,重新执行安装命令。

内容的提问来源于stack exchange,提问作者Jeff Norton

火山引擎 最新活动