卡在fech的npm安装中Metadata检查可安装状态

时间:2019-01-28 07:55:47

标签: node.js angular install

突然我不能安装角钢 我被npm install命令卡住了 “ npm install -g @ angular / cli” 它永远保持这种“检查可安装状态”。

我的节点版本为8.11.3(是的,我已经尝试卸载节点并仔细检查以确保它确实已被卸载),这是我以前的版本,并且运行良好 我的npm -v给5.6.0

然后我运行angular命令安装angular,它似乎冻结或非常非常缓慢。...

9 个答案:

答案 0 :(得分:8)

npm install -g @ angular / cli --verbose

运行此命令后,我意识到npm与Registry.npmjs.org的连接存在问题

要解决此问题:

  1. npm配置集注册表“ http://registry.npmjs.org
  2. npm设置maxsockets 3

已查看here

答案 1 :(得分:2)

在我的情况下,我不得不等待几分钟,并且最终由软件包安装了npm。 另外,我建议使用-verbose 标志来查看实际情况。

答案 2 :(得分:1)

尝试一下: npm install -g --no-optional pm2 这将忽略package.json文件中指定的所有依赖项(如果存在)。 希望这会有所帮助。

答案 3 :(得分:1)

对于仍然遇到这种情况的任何人,我花了几天时间寻找解决方案,最终它变得更加轻松有效,只需从我的计算机中删除所有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
 

答案 4 :(得分:0)

尝试npm install --g --no-optional pm2

Check this out for reference

答案 5 :(得分:0)

您可能需要在全局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可能会感到困惑,并根据其调用方式在不同的位置查看。

答案 6 :(得分:0)

可能在全局.npmrc中设置了自定义注册表。就我而言,这就是问题所在:我的公司使用了一个自定义注册表,该注册表会退回到NPM注册表。对于工作项目来说这不是问题,因为所有必需的软件包已经在那儿了,但是我没有意识到这会影响一个新项目,该项目的软件包未包含在镜像注册表中,因此查找它们的原因一定是所有原因放缓的原因。

我通过将注册表配置重置为该特定项目的.npmrc中的NPM注册表来解决该问题:

registry=https://registry.npmjs.org

答案 7 :(得分:0)

对我来说,问题在于我尝试安装的软件包的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的安装又可以正常工作了)

答案 8 :(得分:-1)

对于同样的问题,请尝试

npm config set strict-ssl false