首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何停止npm修改生产服务器上的package-lock.json

停止npm修改生产服务器上的package-lock.json可以通过以下几种方法实现:

  1. 锁定package-lock.json文件的权限:通过修改文件的权限,阻止npm对package-lock.json文件的写入操作。可以使用chmod命令将文件的写入权限设置为只读,例如:chmod 444 package-lock.json这样一来,npm将无法修改package-lock.json文件。
  2. 使用npm ci命令:npm ci命令会根据package-lock.json文件来安装依赖,而不会修改package-lock.json文件。在生产服务器上,可以使用npm ci命令来安装依赖,例如:npm ci --only=production这样一来,npm将根据package-lock.json文件来安装依赖,但不会修改package-lock.json文件。
  3. 使用npm-shrinkwrap.json文件:npm-shrinkwrap.json文件是一个锁定依赖版本的文件,类似于package-lock.json。可以通过创建npm-shrinkwrap.json文件来锁定依赖版本,并在生产服务器上使用该文件来安装依赖。首先,使用以下命令生成npm-shrinkwrap.json文件:npm shrinkwrap --production然后,使用以下命令安装依赖:npm install --production这样一来,npm将根据npm-shrinkwrap.json文件来安装依赖,而不会修改package-lock.json文件。

以上是停止npm修改生产服务器上的package-lock.json的几种方法。根据具体情况选择适合的方法来保护package-lock.json文件的完整性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 关于 npm 和 yarn 总结一些细节

    Searches the local package tree and attempts to simplify the overall structure by moving dependencies further up the tree, where they can be more effectively shared by multiple dependent packages. For example, consider this dependency graph: a +-- b <-- depends on c@1.0.x | `-- c@1.0.3 `-- d <-- depends on c@~1.0.9 `-- c@1.0.10 In this case, npm dedupe will transform the tree to: a +-- b +-- d `-- c@1.0.10 Because of the hierarchical nature of node's module lookup, b and d will both get their dependency met by the single c package at the root level of the tree. 复制代码 // npm7 以后微调 // 在保持上述原则的基础上,升级了如下细微的规则: In some cases, you may have a dependency graph like this: a +-- b <-- depends on c@1.0.x +-- c@1.0.3 `-- d <-- depends on c@1.x `-- c@1.9.9 During the installation process, the c@1.0.3 dependency for b was placed in the root of the tree. Though d's dependency on c@1.x could have been satisfied by c@1.0.3, the newer c@1.9.0 dependency was used, because npm favors updates by default, even when doing so causes duplication. Running npm dedupe will cause npm to note the duplication and re-evaluate, deleting the nested c module, because the one in the root is sufficient. To prefer deduplication over novelty during the installation process, run npm install --prefer-dedupe or npm config set prefer-dedupe true. Arguments are ignored. Dedupe always acts on the entire tree. Note that this operation transforms the dependency tree, but will never result in new modules being installed. Using npm find-dupes will run the command in --dry-run mode. Note: npm dedupe will never update the semver values of direct dependencies in your project package.json, if you want to update values in package.json you can run: npm update --save instead.During the installation process, the c@1.0.3 dependency for b was placed in the root of the tree. Though d's dependency on c@1.x could have been satisfied by c@1.0.3

    04

    Npm vs Yarn 之备忘大全

    有则笑话,如此讲到:“老丈人爱吃核桃,昨天买了二斤陪妻子送去,老丈人年轻时练过武,用手一拍核桃就碎了,笑着对我说:你还用锤子,你看我用手就成。我嘴一抽,来了句:人和动物最大的区别就是人会使用工具。……”。撇开这样特例场景,这句话还是非常用有道理的;毕竟从远古石器时期或更早,到如今,所言之语,所穿之衣,代步之车,所学的知识,所晓的常识.....皆是工具;可以说绝大部分人之间的差异(天才级除外),仅在于工具使用之优劣罢了。在工具的使用中,很多人极大程度上停留于会用层面,如若不遇到问题,几乎就处于停滞;这本身倒也没有问题,但可能因为没有透彻的了解,而错失了对该物可以拥有的想象力,从而错过了许多本该有的美好,如此的可惜。

    09
    领券