shy*_*am_ 3 npm package.json npm-install
文件的具体用途是什么package.lock.json?我读过它,但它很令人困惑。
假设我npm install这样做,它将创建一个package.lock.json文件,下次我这样做时npm install,它会保留文件中提到的相同软件包的安装吗package.lock.json?
假设"^1.0.0"我的文件中定义了一个包版本package.json,并且 npm 注册表中提供了新版本。当我这样做时,它会更新软件包npm install,还是会与软件包中的内容保持相同package.json?
有没有什么简单的方法可以package.json用确切的软件包版本号来更新文件,而无需手动一一更新?我想保持包的版本不变,这样下次任何人进行 npm install 时,他们应该得到完全相同的包。需要一个发布分支
实际上我需要文件的原始定义package.lock.json,但我发现其行为不一致。
我尝试使用 NPM CI 但失败并出现错误 node_gyp 需要 python https://github.com/nodejs/node-gyp/issues/1977
小智 6
package.lock.json 文件的具体用途是什么?
Ans:该文件用于描述最初生成的确切树,即最初用于安装的依赖项的版本(注意:如果 package.json 或 node_modules 被 npm 修改,它将始终被修改)
来源:https://docs.npmjs.com/configuring-npm/package-lock-json.html
现在回答您的具体问题:
假设我npm install这样做是为了创建一个package.lock.json文件,下次当我执行 npm install 时,它会保留文件中提到的相同软件包的安装吗package.lock.json?
简单的答案是:是的
最初执行此操作时npm install,您需要指定包名称。npm 将创建node_modules文件夹和package-lock.json文件,并添加用于安装的版本的包条目。下次当您执行 npm install 时,如果不指定软件包,即使使用该符号,它也不会更新任何软件包,caret (^)因为这次 npm 将查看该package-lock.json文件(因为它存在于该文件中)并且将安装指定的相同版本在 ( package-lock.json) 文件中。
假设"^1.0.0"我的文件中定义了一个包版本package.json,并且 npm 注册表中提供了新版本。当我执行 npm install 时,它会更新软件包,还是会与 中的内容保持相同package.json?
package-lock.json正如第一个问题所解释的,如果目录中存在,则不会。仅当目录中不存在package-lock.json文件和文件夹时才会更新包。node_modules
有没有什么简单的方法可以package.json用确切的软件包版本号来更新文件,而无需手动一一更新?我想保持包的版本不变,以便下次有人这样做时npm install,他们应该得到完全相同的包。需要一个发布分支
使用 是一个很好的做法npm ci,但您也可以使用npm update,这会将依赖项更新到最新的次要版本,并且您的package.json文件package-lock.json也会更新
对于生产,其首选方法是使用最初使用的相同版本的依赖项。在这种情况下,最好有package-lock.json文件,因此在应用程序的情况下,dockerizing当您这样做时,npm install它将安装使用的版本的依赖项package-lock.json
| 归档时间: |
|
| 查看次数: |
2480 次 |
| 最近记录: |