为什么npm抛出错误"校验和在安装@ angular / cli&#34时失败了?

时间:2017-10-28 07:45:42

标签: node.js angular npm angular-cli npm-install

我使用的是节点v6.11.5和npm 3.10.10以及64位操作系统,在安装@ angular / cli时我收到以下错误:

C:\WINDOWS\system32>npm install -g @angular/cli
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\
node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "@angular/cli"
npm ERR! node v6.11.5
npm ERR! npm  v3.10.10

npm ERR! shasum check failed for C:\Users\Shubham\AppData\Local\Temp\npm-6192-9e
acb63c\registry.npmjs.org\rxjs\-\rxjs-5.5.2.tgz
npm ERR! Expected: 28d403f0071121967f18ad665563255d54236ac3
npm ERR! Actual:   c2b697120c7dc0e6728da0e7636b90e15723cc24
npm ERR! From:     http://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     C:\WINDOWS\system32\npm-debug.log
我从昨晚开始试图解决这个问题,但每次这次shasum检查失败都是我得到的。我尝试了以下事项:

  1. 我将npm注册表配置为http和https。没有工作。
  2. 检查路径OS路径变量和节点所在的目录 安装。一无所获。
  3. 尝试清理npm并卸载并安装angular / cli。 没有工作。

8 个答案:

答案 0 :(得分:14)

本地设置问题很难调试,因为有大量的试验和错误,列出了您尝试过的内容以及由此产生的结果。

这是对建议列表的尝试。我怀疑你已经尝试了很多这些,我希望这有助于组织你的努力。

  1. 验证npm registrynpm get registry(期望:https://registry.npmjs.org/
  2. 将npm更新为最新版本:npm install npm@latest -g
  3. 删除package-lock.json
  4. 完全在Uninstall之前
  5. reinstalling npm,包括npm和npm-cache目录:sudo npm uninstall npm -g
  6. 完全卸载节点(包括再次使用npm)并重新安装
  7. 在此过程中,我确实遇到过类似的github问题:

      

    您好@Rogasch我建议您完全卸载node和npm。   同时删除npm和npm-cache文件夹。并重新安装使用   node-v6.11.2-x86.msi安装程序。 3❤️1

         

    我有同样的问题,npm install -g npm为我修复了

         

    当我收到package-lock.json时,我遇到了这个问题   承诺。删除package-lock.json后,我可以运行npm install   没有错误。

答案 1 :(得分:2)

它是Windows上的构建问题,请尝试以下步骤:

npm install -g node-gyp

npm install --global windows-build-tools

npm install -g angular-cli

答案 2 :(得分:0)

通过转到npm删除npm-cache%AppData%并重试它将正常工作

答案 3 :(得分:0)

在我们的 Ubuntu 18.04 上,我们只需执行以下操作:

RANDOM

答案 4 :(得分:0)

我删除了文件package-lock.json,然后重新运行npm install

答案 5 :(得分:0)

对我来说,我的注册地址使用http而不是https。当我使用来检查我的注册表地址时,

npm check registry 

我看到了http://registry.npmjs.org/。我使用https版本更改了我的注册表地址

npm config set https://registry.npmjs.org/

所有问题都消失了。

答案 6 :(得分:0)

以管理员身份运行powershell,然后运行这些命令。

npm cache clean --force

npm install -g @angular/cli

答案 7 :(得分:0)

重新安装节点,然后安装最新版本的angular cli