问题标签 [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.
git - 添加 git hook 以监视文件的更改
我正在尝试创建一个 git 挂钩来评估 package.json 的更改并自动运行收缩包装器并将更改的文件提交到存储库。我已经尝试了很多,但无法获得有效的解决方案。有谁知道怎么做?
此外,每当我添加一个 npm 模块并尝试运行 npm shrinkwrap 时,我都会收到此错误
如果我手动更新 package.json 或使用 npm 安装模块,由于某种原因,npm shrink 不起作用。另外,我不确定节点或 npm 版本是否重要。我正在使用 npm 3.10.10 和节点 v6.11.3
这是我的依赖
javascript - npm-shrinkwrap 中的库来自哪里,但不对应于 package.json
我有一个npm-shrinkwrap
文件express
作为主要依赖项。
然而,
- 我的文件中没有
express
依赖项package.json
。 - 我没有在任何地方看到它在我的项目中使用。
- 我不认为它
npm-shrinkwrap
是我所期望的其他东西的依赖。
这些是我能想到它存在的可能原因......
我已经运行了以下内容,并且该库仍然存在:
我最终在某处找到了依赖项,但如果它不是项目的明确依赖项,它node_modules
不应该被列为该库的依赖项吗?npm-shrinkwrap
node.js - 更新收缩包装项目中的间接依赖项
npm(我在npm@5
)有没有一种好方法可以为收缩包装/锁定项目中的嵌套依赖项进行版本提升?
执行 annpm install package@latest --save
将按预期更新收缩包装文件,但它也会将依赖项添加到package.json
,这不是我想要的。执行 annpm install --no-save package@latest
将正确跳过更新package.json
,但也不会更新收缩包装文件。
有没有一种简单的方法来更新子依赖和收缩包装文件而不接触package.json
?
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 安装
任何帮助,将不胜感激。
node.js - 了解 NPM 收缩包装
最近发现npm-audit
并在第一次运行时标记了很多漏洞,主要是围绕包及其依赖项。
想要解决这些漏洞,我发现npm shrinkwrap
它允许我指定应该使用哪些版本及其依赖项?反正我就是这么看的(如果有错请纠正我,在这里学习)。
我试图修复的一个例子是模块hoek
,在我的package.json
这个设置为"hoek": "^5.0.3"
当我运行npm shrinkwrap
其中一个依赖项已hoek
设置为版本 2
我想我可以编辑它并指定我希望依赖项使用的版本,就像这样
但是,当我运行npm shrinkwrap
或npm install
所有这些都恢复为原始状态时
我该如何管理这个?收缩包装是正确的选择,还是我想用它做一些我根本做不到的事情?
谢谢
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.json
为package-lock.json
. - 这样做可以吗?因为我不确定 for
npm shrinkwrap
和 new的基本逻辑npm install
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?
任何简单,简单且解释清楚的示例答案?
npm - NPM lockfiles/shrinkwrap 获取附加到“已解析”URL 的随机“dl”参数
我们公司使用 Artifactory 存储库来存储内部发布的包并作为 NPM 注册表的代理。有时resolved
lockfiles/shrinkwrap 文件中的字段与预期的一样,包含我们内部存储库的 URL,但有时它们会显示为这样的内容(为清楚起见,添加了换行符):
然后,从拉取请求到拉取请求,这些dl
参数会根据哪个开发人员执行某个操作而不断波动以存在或删除npm install
,从而导致大量拉取请求和提交噪音。
我猜是 Artifactory 添加了这个dl
参数,因为我在 npm 代码库的代码搜索中看不到它。
为什么会这样?我们可以禁用此行为吗?将这个参数作为postshrinkwrap
脚本解决方法剥离是否安全?
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
) 或更新依赖项并共享这些更改时保留一个干净的文件。
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
: