卡在 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 时,全局配置似乎被忽略或找不到。我怀疑当 USERPROFILEHOMESHARE 环境变量中的设置冲突时会发生这种情况,在这种情况下,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 卡在提取:zone.js

eletron安装卡在 node install.js

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