问题标签 [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.
npm-install - 如果 npm-shrinkwrap.json 存在,所有包上的 npm 安装错误
节点 v10.15.0 npm v6.4.1
我继承了一个npm-shrinkwrap.json
在package.json
.
当我运行时npm install
,对于应该下载的每个包中的文件,我都会收到如下错误
检查 .staging 文件夹,我发现文件确实在那里!
出于好奇,我删除了npm-shrinkwrap.json
并npm install
再次运行,现在它按预期创建了 node_modules 文件夹。
我发现这shrinkwrap
是一个旧方法,被lock
后来 NPM 版本中的机制所取代?
是否可以保存仅删除npm-shrinkwrap.json
并且以后不会遇到软件包版本的任何问题?
node.js - 在新机器上安装软件包时出现 npm 错误
我想从 ShrinkWrap.json 文件安装包,我正在尝试在新机器上安装包,但命令npm install
抛出错误
npm WARN tar ENOENT:没有这样的文件或目录,打开 '/build/Source/Web/node_modules/.staging/whet.extend-0ac707ec/package.json
预期行为: 我希望正确安装软件包
到目前为止我尝试了什么:
删除了 node_modules 文件夹并删除了 package-lock.json 文件npm cache clean --force
以及
详细信息 节点版本:10.17.0
注意:我只想从 shrinkwrap.json 文件安装包
node.js - 从没有 npm-shrinkwrap.json 的 bitbucket 安装 npm 包
问题:
在 NodeJS 中,当“包 B”来自私人仓库时,我如何忽略高阶“项目 A”中的“npm install”上的依赖项“包 B”的收缩包装。
的背景:
假设我们在一个私有的 npm-package “fancy-frontend” 上开发并为此获得了一个 CI 系统,这需要在 package.json 旁边保留一个 npm-shrinkwrap.json(以获得所有依赖项的确定性快照)。
在另一个 repo 中,我们使用节点项目“fancy-system”在更高的系统上进行开发。该项目依赖于“fancy-frontend”的标记版本。所以我们使用命令安装该项目
npm i git+ssh://git@bitbucket.org/myteam/fancy-frontend.git#v1.0.2 --save
由于我们的子依赖“fancy-frontend”中现有的 npm-shrinkwrap.json,npm 似乎使用了该子收缩包装并在“fancy-frontend”模块中构建了一个完整的独立包树。以这个巨大的依赖文件树结束:
注意:我添加了 react 作为两个模块应该共享的示例依赖项,但不是。
问题:
我们有大量的重复包(尽管“fancy-system”和“fancy-frontend”引用的是同一个版本!)。我们遇到了 react 和多个实例的问题(尽管我们在“fancy-frontend”中将 react 设置为对等依赖项!)。
node.js - 反应:NPM 安装失败
我尝试使用 npm 在我的 react 应用程序中安装一个包,但由于某种原因它失败了:它显示以下错误:
我尝试 npm install 重新生成 package-lock.json 但它和以前一样。
node.js - npm 不尊重 npm-shrinkwrap 的问题
我最近负责节点 8.9.4 上的旧 Nodejs 应用程序。该应用程序有一个npm-shrinkwrap.json
文件,该文件具有为其直接和间接依赖项定义的特定版本。
但是,当我执行全新的 npm 安装(使用 npm 版本 6.0.1,这是以前的开发人员在构建作业中指定的)时,它看起来npm-shrinkwrap.json
被忽略了,并且package.json
在依赖项中指定的任何内容(在某些情况下' latest') 是正在安装的版本。该应用程序没有package-lock.json
文件。
以前有人见过这个问题吗?
node.js - 如何从现有的 package-lock.json 中提取最接近的 node.js 版本?
我package-lock.json
并package.json
没有指定用于package-lock.json
在我的仓库中生成的 node.js 版本。
我可以遍历node
版本,以查看哪个版本对我的存储库中的前一个文件的nvm
影响最小。我想知道有没有一种不那么详尽和繁琐的方法来做到这一点。是否有任何提示可以从锁定文件中“逆向工程”或“提取”节点版本?git diff
package-lock
动机:我不想package-lock.json
在每次提交时都更改我的,并且在 CI 中始终使用相同的节点版本。
node.js - 有没有办法将 npm-shrinkwrap 的 lockfileVersion 降低到 lockfileVersion@1,它会自动生成 lockfileversion@2?
[错误] - 执行命令 [app-deploy] - [使用 NPM 安装依赖项] 时出错。停止运行命令。错误:命令 /bin/sh -c npm --production install 失败并出现错误信号:已终止。Stderr:npm WARN read-shrinkwrap 此版本的 npm 与 lockfileVersion@1 兼容。