我有一个带有已弃用依赖项的反应应用程序。为了使其正常工作,我必须将依赖项更新为较新(但稳定)的版本。
根据 this stakoverflow 线程,要将 package.json 中的依赖项更新到最新版本,npm-check-updates 是 npm 的最佳选择。但是,我使用纱线进行包管理。纱线中是否有等效的 npm-check-updates 。因此,我使用单个包管理器来管理我的依赖项。
npx npm-check-updates
。
yarn upgrade-interactive --latest
但您必须先有一个 yarn.lock
文件才能执行此操作。如果您使用 npm
,则必须先删除 package-lock.json
。然后运行 yarn
创建结构。之后您可以执行upgrade-interactive
。没有它,yarn
显示升级,但在 package.json
中没有变化和效果。
您可以使用以下命令将单个软件包升级到最新的主要版本:
yarn upgrade <package-name> --latest
您可以试试这个 npm 包 yarn-upgrade-all
。此软件包将删除 package.json
中的所有软件包并再次添加它,这会将其更新到最新版本。
安装:
npm install -g yarn-upgrade-all
用法:在您的项目目录中运行:
yarn yarn-upgrade-all
package.json
中的所有软件包运行 yarn remove && yarn add
太慢了,但可以!较短的版本:npx yarn-upgrade-all
yarn yarn-upgrade-all
对我不起作用,但 npx yarn-upgrade-all
起作用。谢谢@AndrewZolotarev
npx yarn-upgrade-all
将我的 "vue": "^3.0.5"
依赖项更改为 "vue": "^2.6.14"
,这是我没想到的。显然,这破坏了构建。
npx yarn-upgrade-all
如果你想用 yarn 更新包并相应地更新 package.json,
安装 syncyarnlock -yarn global add syncyarnlock 更新包 -yarn upgrade 或yarn upgrade --latest 将yarn.lock的更新版本同步到package.json -syncyarnlock -s
yarn install
- 除了再次更新 yarn.lock
之外,它不会执行任何操作,但如果您不这样做,yarn
稍后会抱怨版本限制在生成 yarn.lock
时使用现在已过时。
使用 Yarn v2 和 v3 (Berry)
您必须先安装适当的插件:
yarn plugin import interactive-tools
然后执行
yarn upgrade-interactive
来源:https://yarnpkg.com/cli/upgrade-interactive
清单已过时
yarn outdated
将所有依赖项升级到最新版本
这将升级到最新版本,无论包是否稳定或包之间的版本控制限制。
yarn upgrade --latest
如果您想将包添加到您的 package.json 以进行开发协作
yarn add yarn-upgrade-all -D
yarn yarn-upgrade-all
顺便说一下,包使用命令(重新安装所有包)
yarn install package1 package2 packageN
npm-check-updates 与纱线完全兼容。只需在您的项目目录中运行 npx npm-check-updates
。
npm-check-updates
是一个经过实战考验、已有 8 年历史的库,可以正常工作。它提供交互模式和医生模式,用于自动运行测试和识别损坏的升级。
免责声明:我是 npm-check-updates 的主要贡献者。
https://i.stack.imgur.com/76CS0.png
互动+小组模式:
https://i.stack.imgur.com/sbuRz.png
yarn upgrade --latest
无需额外安装软件包
node_modules
文件夹和yarn.lock
、yarn-error.log
文件。然后尝试yarn --ignore-engines
。安装成功后,尝试yarn upgrade-interactive --latest
。yarn outdated
并直接在package.json
中手动更新软件包。在做之前你需要有放松的心态:)yarn outdated
,因为如果有很长的部门列表,这似乎更合乎逻辑:)yarn up