问题标签 [package-lock.json]
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.
node.js - 如果我不使用 GitHub,npm 如何提交 package-lock.json
我下载了 NodeJS 并将其安装在 Windows 10 上。我使用 npm install npm@latest -g 命令行更新了 npm 我既没有使用 github 也没有使用其他任何东西我收到消息“创建了一个锁文件作为 package-lock.json。你应该提交这个文件”。
我应该怎么做才能提交文件?当我提交它时会发生什么?如果我不承诺会发生什么?
请不要引用 npm 文档,因为我多次阅读它并且没有理解它。
谢谢
node.js - NPM:更改 package-lock.json 中的注册表
出于安全原因,我需要一个特定的注册表,但package-lock.json
我仍然保留https://registry.npmjs.org/
有什么办法可以强制吗?
npm - 更新 NPM 包的传递依赖
我们公司有一些 Web 应用程序,它们又依赖于很长的内部创建和托管的 npm 包链(我们使用 JFrog Artifactory),每个包都有自己的依赖项(等等)。每当修复错误或在低级包中实现功能时,当前流程都需要开发人员检查他们的更改,等待 CICD 构建完成并运行测试,更新父包,然后冲洗/重复所有上链的方式(这可能是一个很长的过程)。
这不可能是一个独特的情况,但它极大地影响了我们的生产力,并鼓励单体包开发来限制要更新的包数量,而不是适当的代码分离。
我只能想到两个解决方案:
1) 更新 web 应用程序以直接在 package.json 中使用传递依赖。然而,这破坏了“封装”,因为 Web 应用程序不应该知道直接依赖项如何管理其工作。如果直接依赖关系稍后要使用其他传递依赖关系,则不应让 Web 应用程序引用现在不相关的包。
2) 修改 web 应用程序的 package-lock.json 以指向新版本的传递依赖。然而,这似乎只是暂时起作用,因为合并冲突或直接依赖项的新安装往往会恢复这些更改。
我意识到答案可能是优化构建/发布过程以减少痛苦和手动,但我希望其他人可能会遇到不同的解决方案。
仅供参考 - 默认情况下,所有依赖项都以 '~' 作为版本前缀安装。
node.js - 克隆后: npm install 产生不同的包锁定文件
我在 OSX El Capitan 10.11.6 上使用 npm 5.6.0 和 node v6.9.5。
场景:我有一个 nodejs 项目,其中package-lock.json在每个 npm 安装后按预期创建。该项目,包括package-lock.json,被检入存储库,然后克隆到不同的位置(相同的机器,相同的操作系统,相同的 npm 和节点版本)。
问题:但是,这次启动 npm install 时,package-lock.json的依赖顺序不同。
背景:现在这通常不会成为问题,但我需要计算 git pre-commit 挂钩上所有文件的校验和,以在应用程序中发出信号,表明从存储库克隆项目时没有更改并希望将package-lock.json 包含在该校验和中。
所以:
工作文件夹:-> npm install -> package-lock.json -> checksum -> ABCD1234 -> commit & push 克隆文件夹:clone -> npm install -> package-lock.json -> checksum -> 9876EFGH
唯一的区别(在 OS X 上使用 filemerge 工具)是package-lock.json文件中一个依赖项的顺序不同,其他每个文件都完全相同。
两个package-lock.json文件不应该完全一样吗?还是我错过了一个不能保证的特定 npm 概念?
任何帮助/提示表示赞赏,谢谢!
(通常我会将package-lock.json附加为代码,但是这个文件太长,所以我将提供实际差异的屏幕截图)
npm - NPM5,package-lock.json 和 package.json 有什么区别?
将 NPM 更新到版本 5 后,我找到package-lock.json
了带有 package.json 的文件。
这两个文件有什么区别?
有什么优点package-lock.json
?
node.js - 生成 package-lock.json 后的错误日志
在项目上本地安装包后..当我在命令行中babel-cli
输入时,我开始收到错误日志。npm list --depth 0
这很烦人..但我不确定它是否会解决任何其他问题。
我试图安装babel-cli
和babel-core
全局。但是,并没有真正改变。当我npm list --depth 0 -g
用-g
标志输入时,它会返回一个非常干净的我的包列表。
这是我运行这两个命令时的日志:
和:
关于如何解决这个问题的任何想法?或者至少让它不那么吵?
我真的很感谢你们的帮助!
更新
我也试过prune
包,但还是一样。这是日志:
我在Windows 10上运行npm@5.6.0
和node@v8.9.1
另一个更新
我发现问题正是来自package-lock.json
我们每次运行时生成的文件npm install something
。我在安装所有软件包后删除了该文件,当我运行npm ls --depth 0
它时,它变得非常干净,只有我的软件包名称。package-lock.json
但据我所知,删除文件并不好。正确的?有什么我不知道的隐藏问题吗?
npm - NPM - 如何在不更新或添加 package.json 中描述的包的情况下安装新包
这是一个很难的问题,我会尽力解释。
如何在没有安装依赖项或新包(在 package/-lock.json 中定义)的情况下添加新包?
例如:目前,我们有 package.json 和 package-lock.json 来维护版本控制。
但是,如果我们尝试添加一个新包,其他包(与 package.json 或 package-lock.json 相关)正在更新/添加。
目的只是添加新包,在 package.json 和 package-lock.json 中添加这些包信息,而不影响当前安装的包。
javascript - 以编程方式生成 package-lock.json
假设我将 package.json 文件作为字符串/json 对象读取。是否可以以编程方式创建 package-lock.json 文件?
例如,像这样:
是否存在这样的事情,还是我必须使用 npm cli 来执行此操作?
npm - 安装 Gulp 会创建大型 node_modules 和 package-lock 文件
我刚刚在一个全新的空项目中安装了 Gulp,并按照入门指南中的说明进行操作。我不确定我是否做对了,尽管在运行之后npm init
我npm install --save-dev gulp
有一个非常大的node_modules
文件夹(198 个项目)和package-lock.json
文件(2419 行)。
这是正常的还是我在某个地方出错了?