问题标签 [npm-shrinkwrap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
966 浏览

git - 添加 git hook 以监视文件的更改

我正在尝试创建一个 git 挂钩来评估 package.json 的更改并自动运行收缩包装器并将更改的文件提交到存储库。我已经尝试了很多,但无法获得有效的解决方案。有谁知道怎么做?

此外,每当我添加一个 npm 模块并尝试运行 npm shrinkwrap 时,我都会收到此错误

如果我手动更新 package.json 或使用 npm 安装模块,由于某种原因,npm shrink 不起作用。另外,我不确定节点或 npm 版本是否重要。我正在使用 npm 3.10.10 和节点 v6.11.3

这是我的依赖

0 投票
1 回答
37 浏览

javascript - npm-shrinkwrap 中的库来自哪里,但不对应于 package.json

我有一个npm-shrinkwrap文件express作为主要依赖项。

然而,

  • 我的文件中没有express依赖项package.json
  • 我没有在任何地方看到它在我的项目中使用。
  • 我不认为它npm-shrinkwrap是我所期望的其他东西的依赖。

这些是我能想到它存在的可能原因......

我已经运行了以下内容,并且该库仍然存在:

我最终在某处找到了依赖项,但如果它不是项目的明确依赖项,它node_modules不应该被列为该库的依赖项吗?npm-shrinkwrap

0 投票
1 回答
1068 浏览

node.js - 更新收缩包装项目中的间接依赖项

npm(我在npm@5)有没有一种好方法可以为收缩包装/锁定项目中的嵌套依赖项进行版本提升?

执行 annpm install package@latest --save将按预期更新收缩包装文件,但它也会将依赖项添加到package.json,这不是我想要的。执行 annpm install --no-save package@latest将正确跳过更新package.json,但也不会更新收缩包装文件。

有没有一种简单的方法来更新子依赖和收缩包装文件而不接触package.json

0 投票
0 回答
40 浏览

node.js - 如何将 package.json 和 npm-shrinkwrap.json 升级到最新节点 v8.11.1

我有一个 CLI git 存储库,其中包含 package.json 和 npm-shrinkwrap.json 文件的模块列表。目前这适用于节点 v6.11.1,我想升级它以支持最新的节点 v8.11.1。

我已经尝试了以下这些命令,但没有帮助

npm i -g npm-check-updates

npm-检查更新-u

npm 安装

任何帮助,将不胜感激。

0 投票
1 回答
5533 浏览

node.js - 了解 NPM 收缩包装

最近发现npm-audit并在第一次运行时标记了很多漏洞,主要是围绕包及其依赖项。

想要解决这些漏洞,我发现npm shrinkwrap它允许我指定应该使用哪些版本及其依赖项?反正我就是这么看的(如果有错请纠正我,在这里学习)。

我试图修复的一个例子是模块hoek,在我的package.json这个设置为"hoek": "^5.0.3"

当我运行npm shrinkwrap其中一个依赖项已hoek设置为版本 2

我想我可以编辑它并指定我希望依赖项使用的版本,就像这样

但是,当我运行npm shrinkwrapnpm install所有这些都恢复为原始状态时

我该如何管理这个?收缩包装是正确的选择,还是我想用它做一些我根本做不到的事情?

谢谢

0 投票
0 回答
284 浏览

npm - 从 npm-shrinkwrap.json 创建或派生 package-lock.json 文件

以前我们有旧版本的 npm,我使用npm-shrinkwrap.json文件来锁定依赖项。现在我们升级到 npm 6,我想使用package-lock.json而不是 old npm-shrinkwrap.json

那么我该如何创建一个package-lock.json现在呢?

  • 是否有任何工具可用于将 npm-shrinkwrap.json 转换为 package-lock.json?
  • 我找到了建议 重命名npm-shrinkwrap.jsonpackage-lock.json.
  • 这样做可以吗?因为我不确定 fornpm shrinkwrap和 new的基本逻辑npm install
0 投票
2 回答
773 浏览

node.js - 如果 npm 已经有 npm-shrinkwrap.json 用于锁定目的,为什么还要创建 package-lock.json?

npm- shrinkwrap.json :锁定 node_modules 树以及依赖项和嵌套依赖项,以防止包代码在其他机器上中断。

package-lock.json:锁定 node_modules 树以及依赖项和嵌套依赖项,以防止包代码在其他机器上中断。

那么,如果 npm 已经有npm-shrinkwrap.json用于锁定目的,为什么还要创建package-lock.json呢?

为什么他们创建新的package-lock.json文件来解决 npm 版本兼容性问题,因为开发人员已经在使用npm-shrinkwrap.json

任何简单,简单且解释清楚的示例答案?

0 投票
1 回答
966 浏览

npm - NPM lockfiles/shrinkwrap 获取附加到“已解析”URL 的随机“dl”参数

我们公司使用 Artifactory 存储库来存储内部发布的包并作为 NPM 注册表的代理。有时resolvedlockfiles/shrinkwrap 文件中的字段与预期的一样,包含我们内部存储库的 URL,但有时它们会显示为这样的内容(为清楚起见,添加了换行符):

然后,从拉取请求到拉取请求,这些dl参数会根据哪个开发人员执行某个操作而不断波动以存在或删除npm install,从而导致大量拉取请求和提交噪音。

我猜是 Artifactory 添加了这个dl参数,因为我在 npm 代码库的代码搜索中看不到它。

为什么会这样?我们可以禁用此行为吗?将这个参数作为postshrinkwrap脚本解决方法剥离是否安全?

0 投票
0 回答
96 浏览

npm - npm-shrinkwrap.json 将 ?dl=https://registry.npmjs.org/... 附加到所有“已解决”的属性

当我使用命令时 npm-shrinkwrap.json append的npm install所有属性。resolved?dl=https://registry.npmjs.org/<package-name>

例子

这些包来自 Artifactory,.npmrc 似乎与它没有任何关系。

我不知道“dl”是什么意思以及发生这种不必要添加的原因,但我想在添加 ( npm i --save) 或更新依赖项并共享这些更改时保留一个干净的文件。

0 投票
1 回答
1025 浏览

reactjs - npm-shrinkwrap.json:无法从“node_modules/react-navigation/react-native-tab-view@github:react-navigation/react-native-tab-view”安装

npm install今天早上我试图在一个 React Native 0.53.3 项目上运行一个"react-navigation": "1.5.11",,我得到了这个错误:

我认为可以通过将其添加到我的package.json文件中来解决:

但我继续得到同样的错误。我向 react-navigation 团队提出了几个问题,但由于他们认为这是npm.

有没有人遇到过这个问题?我该如何解决这个问题,因为它使我无法运行npm install并使项目启动和运行。

看起来它在内部引用了这个npm-shrinkwrap.json