如何不破坏性更新npm包呢?现在npm install总是一堆警告
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated runjs@4.4.2: This project has been renamed to 'tasksfile'. Install using 'npm install tasksfile' instead.
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi'
npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated highlight.js@9.18.5: Support has ended for 9.x series. Upgrade to @latest
这个是告诉你这些包已经有断层更新了呀。让你去阅读依赖项的更新内容,然后去修改项目内的代码。防止因为一些断层更新导致某些API不能使用了。
比如说你在
npm i
之后控制台输出的告警信息,稍微翻译一下你就明白了。如果你只是不想更新依赖,可以考虑使用
npm ci
来安装依赖,而不是使用npm i
。npm ci
会按照package.json
和package-lock.json
中的版本来安装依赖,而是用npm i
的话,会按照package.json
中的版本限制规则来最新的依赖,并且更新package.json
和package-log.json
。规则可以查看这个问答 👉 npm的lock机制解析一般来说我们会在开发环境使用
npm i
来跟新版本,更新一些在依赖项版本更新中修复的BUG,而在生产环境使用npm ci
来确保和开发环境保持一致的依赖版本。npm-install | npm Docs
npm-ci | npm Docs