11

当我在应用程序中执行基本npm install操作时,我正在尝试设置开发人员。损坏包的环境最终会从我的 Verdaccio 代理实例中提取。

重现

重现行为的步骤:

  1. 为我的项目设置 package.json,包括添加我的依赖项等。
  2. 将我的本地系统设置为使用我的 Verdaccio 实例:npm set registry [[Verdaccio Server URL]]:4873.
  3. npm install在我有 package.json 的目录中执行。

结果

我得到了大量类似于以下内容的输出:

npm http fetch GET 200 [[Proxy NPM Site]]/@angular%2fplatform-browser-dynamic/-/platform-browser-dynamic-5.2.11.tgz 6430ms
npm WARN tarball tarball data for @angular/router@5.2.11 (sha512-NT8xYl7Vr3qPygisek3PlXqNROEjg48GXOEsDEc7c8lDBo3EB9Tf328fWJD0GbLtXZNhmmNNxwIe+qqPFFhFAA==) seems to be corrupted. Trying one more time.
npm WARN tarball tarball data for jquery@3.3.1 (sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==) seems to be corrupted. Trying one more time.
npm WARN tarball tarball data for ng-bootstrap@1.6.3 (sha1-1B/UIVTAWTQiy4PEc6OCiqdSW/U=) seems to be corrupted. Trying one more time.

请注意包的 URL 编码名称,在本例中为@angular%2fplatform-browser-dynamic. 当我将代理设置为https://registry.npmjs.org/.

当然,我想做的是能够npm install像连接到官方注册表一样执行。

配置和日志文件

附加信息

  • NPM 版本:最新 - 6.1.0,但它发生在旧版本中。
  • Verdaccio 运行的节点版本:10.4.0
  • 客户端运行的节点版本:10.4.0

环境:Windows Server 2012 (SP2)

Verdaccio 所在的服务器不在代理后面。

4

6 回答 6

13

因此,在执行以下操作后,一切都按预期工作:

rmdir /S /Q node_modules (or rm -rf node_modules on a *nix derivative OS)
del package-lock.json (or rm package-lock.json on a *nix derivative OS)
npm set registry [[My Verdaccio Instance's IP]]:4873
npm cache clean --force
npm install --force --verbose --no-bin-links
于 2018-06-14T14:36:19.173 回答
2

如果您回滚到 NPM 版本 3,它将重新开始工作。使用 NPM@3 发布到 Verdaccio,然后使用 NPM@>=5 拉动对我来说是这个问题。

于 2019-05-24T19:49:12.297 回答
2

我通过以下步骤解决了我的问题:

  1. 删除package-lock.json
  2. npm cache clear --force
  3. npm cache verify
  4. npm install
于 2020-11-12T10:49:25.560 回答
1

这似乎是您的 node/npm 的问题,而不是 Angular CLI 的问题。

我建议你尝试使用

  1. npm cache clear --force
  2. npm install

谢谢。

于 2019-10-31T04:06:14.613 回答
0

不得不关闭 Verdaccio 的缓存

uplinks:
  npmjs:
    url: https://registry.npmjs.org/
    cache: false
于 2019-06-07T09:14:15.500 回答
0

删除 package-lock.json。它解决了我的问题。

于 2020-11-12T09:58:27.847 回答