从自定义注册表安装包时出现 npm Shrinkwrap 问题

问题描述 投票:0回答:1

使用 npm 从自定义注册表 (JFrog) 安装软件包时,npm Shrinkwrap 无法按预期工作。

当我安装

@zowe/[email protected]
而不使用命令
npm install @zowe/[email protected]
指定自定义注册表时,npm Shrinkwrap 工作得很好。

但是,当我尝试使用以下命令从自定义注册表安装相同的软件包时:

npm install @zowe/[email protected] --@zowe:registry=https://zowe.jfrog.io/zowe/api/npm/npm-release/
,收缩包装功能无法按预期工作。

迹象表明收缩包装被忽略了:

  1. 依赖树在node_modules内被扁平化
  2. package-lock.json 文件未定义“hasShrinkwrap”值

注:

  1. 我正在使用 [电子邮件受保护],但在 [电子邮件受保护]
  2. 中也观察到了相同的行为
npm npm-shrinkwrap
1个回答
0
投票

我是 Zowe CLI 的开发人员之一,这是由 npm 中的错误引起的:https://github.com/npm/cli/issues/4583

Artifactory 和 Verdaccio 等第三方注册表不会在包元数据中实现

_hasShrinkwrap
标志。在这种情况下,npm cli 应该查找是否存在 npm-shrinkwrap.json 文件,但它没有查找并忽略它。所以目前我知道的唯一解决方法是直接从 NPM 注册表安装。

© www.soinside.com 2019 - 2024. All rights reserved.