卡在 fechMetadata 的 npm install 检查可安装状态
Posted
技术标签:
【中文标题】卡在 fechMetadata 的 npm install 检查可安装状态【英文标题】:Stuck at npm install at fechMetadata checking installable status 【发布时间】:2019-06-21 04:45:00 【问题描述】:突然我无法安装 Angular 我卡在 npm install 命令上 “npm 安装 -g @angular/cli” 它永远停留在这个“检查可安装状态”上。
我的节点版本是 8.11.3(是的,我已经尝试卸载节点并仔细检查它是否真的被卸载了)这是我以前的版本并且工作正常 我的 npm -v 给出 5.6.0
然后我运行 angular 命令来安装 angular,它似乎冻结或非常非常非常慢....
【问题讨论】:
您是否尝试过清除您的 npm 缓存?npm cache clean --force
是的,我做到了,我得出的结论是在我为 windows 安装 git 之后发生的,所以这与 git 和 cmd 有关
有人解决过这个问题吗?
再等几分钟对我有用
@NicolaiWeitkemper 你能告诉我你等了多久吗?
【参考方案1】:
有同样问题的朋友可以试试
npm config set strict-ssl false
【讨论】:
【参考方案2】:试试npm install --g --no-optional pm2
Check this out for reference
【讨论】:
【参考方案3】:您可能需要在全局 Git 配置中指定您的代理服务器,如下所示:
git config --global http.proxy http://your-proxy-server:port
git config --global https.proxy http://your-proxy-server:port
既然您提到您使用的是 Windows 版 Git,最好也将其放入系统范围的配置中(使用 --system
而不是 --global
重复这些命令)。
理论上,全局配置应该优先于系统配置,但有时在 Windows 上使用 npm install 时,全局配置似乎被忽略或找不到。我怀疑当 USERPROFILE
和 HOMESHARE
环境变量中的设置冲突时会发生这种情况,在这种情况下,Git 可能会感到困惑并根据调用方式在不同的地方查找。
【讨论】:
【参考方案4】:试试这个:
npm install -g --no-optional pm2
这将忽略package.json
文件(如果存在)中指定的所有依赖项。
希望这会有所帮助。
【讨论】:
【参考方案5】:您可能在全局.npmrc
中设置了自定义注册表。这就是我的问题:我的公司使用了一个自定义注册表,该注册表回退到 NPM 注册表。这对工作项目来说不是问题,因为所有必需的包都已经存在,但我没有意识到这会影响一个新项目,其包未包含在镜像注册表中,并且查找它们一定是原因放缓。
我通过在.npmrc
中为该特定项目将注册表配置重置为 NPM 注册表解决了这个问题:
registry=https://registry.npmjs.org
【讨论】:
【参考方案6】:npm install -g @angular/cli --verbose
运行此命令后,我意识到 npm 与 registry.npmjs.org 的连接存在问题
解决这个问题:
-
npm 配置集注册表“http://registry.npmjs.org”
npm set maxsockets 3
查看here
【讨论】:
这对我有用。尝试创建新的反应应用程序时检查可安装状态正在挂起安装:npx create-react-app react_test npm config set registry "registry.npmjs.org",为我解决了这个问题【参考方案7】:在我的情况下,我不得不等待几分钟,npm 最终通过包安装。 另外我建议使用 --verbose 标志来查看实际情况。
【讨论】:
【参考方案8】:对我来说,问题是我尝试安装的软件包在其package.json
中有这个:
"dependencies":
[...]
"mobx-utils": "github:Venryx/mobx-utils#5.5.2_VPatch2"
通常工作正常,但显然今天,NPM 决定挂起从 GitHub 存储库检索库内容的调用。
我使用Process Hacker 2 调查了挂起的确切命令,结果如下:
git.exe ls-remote -h -t git://github.com/Venryx/mobx-utils.git
就我而言,我只是通过手动安装子依赖项(并复制粘贴 mobx-utils 库本身)解决了这个问题,但这当然不理想。
更新:问题是我运行的是适用于 Windows 的过时版本的 Git。一旦我将其更新到最新版本(v2.28.0),问题就解决了。 (即,基于 github urls/branches 的安装再次开始正常工作)
【讨论】:
【参考方案9】:对于仍然遇到这种情况的任何人,我花了几天时间寻找解决方案,最终从我的机器中删除所有 nvm(及其节点)的痕迹并重新安装变得更容易和更有效。重新安装后一切都恢复正常
我做到了:
brew uninstall nvm
rm -rf $NVM_DIR ~/.nvm ~/.npm ~/.bower
# remove nvm entries from my .bash_profile|.bashrc then
# installed nvm from nvm's install script
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh | bash
# add to bash_profile
cat << EOF >> ~/.bash_profile
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
EOF
source ~/.bash_profile
nvm install --lts
【讨论】:
【参考方案10】:或者可能像我的情况一样出现服务中断。建议首先检查状态页面,您可以在其中获取信息,如果一切正常:https://status.npmjs.org/
如果你看到这样的东西,你知道的,你将不得不等待一段时间:
【讨论】:
以上是关于卡在 fechMetadata 的 npm install 检查可安装状态的主要内容,如果未能解决你的问题,请参考以下文章
npm install 时卡在了node-gyp rebuild
Tomcat 启动卡在 Root WebApplicationContext: initialization completed in
[NPM] Run npm scripts in series
[NPM] Test npm packages locally in another project using npm link