修改 package.json
如果你需要在项目中添加一个名为 "example-lib" 的依赖。如果没有使用 Rush,你可以这样做:
# 请不要在 Rush 仓库内使用以下命令
~/my-repo$ cd apps/my-app
~/my-repo/apps/my-app$ npm install --save example-lib
在 Rush 仓库内,你应该使用 rush add 命令:
~/my-repo$ cd apps/my-app
# 在 "my-app" 项目中添加 "example-lib" 的依赖,随后会自动执行 "rush update"
~/my-repo/apps/my-app$ rush add --package example-lib
rush add
命令也可以用来更新某个已有依赖的版本:
# 将 "my-app" 中的 "example-lib" 版本更新为 "1.2.3"
~/my-repo/apps/my-app$ rush add --package example-lib@1.2.3
# 或者将 "example-lib" 版本更新为 "^1.2.3"
~/my-repo/apps/my-app$ rush add --package example-lib@1.2.3 --caret
# 这有一个更高级的示例:通过 NPM 源处查询兼容 "^1.2.0" 的最新语义化版本,然后将其添加为 "~1.5.3" 的依赖。
#
# 注意:当在命令行中指定符号字符时,请使用引号,避免与 shell 发生冲突。
~/my-repo/apps/my-app$ rush add --package "example-lib@^1.2.0"
# 如果仓库内的其他项目正在使用 "example-lib", 可以一次性将其更新为 "1.2.3" 版本
~/my-repo/apps/my-app$ rush add --package example-lib@1.2.3 --make-consistent
如果你想了解更多,可以查看rush add.
提示:VS Code 内一个有趣的功能
如果你正在使用 VSCode, 也可以直接编辑 package.json 文件,在 dependencies 或 depDependencies 下输入
"example-lib":
, VS Code 将自动查询 NPM 源的版本,并提供补全建议。在某些情况下,这种方式比rush add
更便捷。当然,如果你手动修改了 package.json, 随后记得执行
rush update
.
更新 NPM 包的版本
rush update --full
指令可以安装满足 package.json 的最新版本。然而,如果你想更新 package.json 文件中的版本到较新的版本,目前 Rush 还无法在全局范围内实现。
npm-check-update 会升级 Rush 仓库中的单个项目下 package.json 内版本,记得随后执行 rush update
(而不是 npm install
)
注意:PNPM workspace 已经推出, 启用此功能后,可以使用 pnpm update 指令进行批量更新。