你是否曾发现自己在处理多个使用不同包管理器的项目时,不小心在错误的项目中运行了错误的包管理器?
这可能会导致混乱的锁文件和依赖关系,从而浪费时间。幸运的是,这个问题有一个解决方案:ni
。
ni
是一个简单而强大的工具,可以让你在任何项目中运行正确的包管理器,而无需记住它使用的是哪个。本博文将解释如何使用ni
及其各种命令。
安装 NI
要安装 ni
,请在终端中运行以下命令:
1 | npm i -g @antfu/ni |
使用 -g
标志进行全局安装,这样你就可以在所有项目中使用它。
使用 NI
ni
有几个命令,使得在你的项目中使用正确的包管理器变得更容易。下面,我们详细介绍最常见的命令列表。
ni 安装包
ni 命令使用正确的包管理器为你的项目安装包。要使用它,只需运行命令后跟包名称。
1 | # 安装 React,自动使用正确的包管理器 |
此命令使用正确的包管理器(npm
、yarn
、pnpm
或 bun
)安装 React。
对于开发依赖项,请使用 -D:
1 | # 对于开发依赖项 |
使用 --frozen
来避免写入锁文件:
1 | # 等同于 npm ci,yarn install --immutable 等 |
nr 运行脚本
nr
命令使用正确的包管理器在你的项目中运行脚本。要使用它,请运行命令后跟脚本名称和任何选项。
1 | # 在npm 中运行 `npm start`,在 yarn 中运行 `yarn start`,等等 |
此命令使用正确的包管理器运行启动脚本。
这也有一个方便的好处 —— 你不需要使用 – 来分隔你的脚本参数:
1 | # 等同于 `npm run serve -- --port 8080`,`yarn run serve --port 8080`,等等 |
你也可以只运行 nr 来交互式选择要运行的脚本:
nix 执行包
nix 命令使用正确的包管理器执行你的项目中的包。要使用它,请运行命令后跟包名称。
1 | # 在 npm 中等同于 `npx jest`,在 yarn 中等同于 `yarn dlx jest`,等等 |
此命令使用正确的包管理器执行 Jest。
nu 升级包
nu 命令使用正确的包管理器更新过时的包。要使用它,请运行命令后跟任何选项。
1 | # 等同于 `npm upgrade`,`yarn up`,等等 |
此命令使用正确的包管理器将所有包更新到它们的最新版本。
nun 卸载包
nun
命令使用正确的包管理器为你的项目卸载包。要使用它,运行命令后跟包名称。
1 | # 等同于 `npm uninstall react`,`yarn remove react`,等等 |
此命令使用正确的包管理器卸载 React
。
使用 -C 切换目录
你也可以使用 ni 来更改目录并在新目录中运行命令。
1 | ni -C packages/foo react |
此命令将目录更改为 packages/foo
并使用正确的包管理器安装 React
。
总结
通过使用 ni
,你可以节省大量时间,并避免处理冲突的锁文件和依赖关系时的挫败感。所以,如果你还没有尝试过 ni
,那就试试吧 —— 你不会后悔的!