日常开发中有时会遇到本地开发的组件通过 npm link 到全局,在其他项目中使用。
举个例子:
cd ~/projects/node-redis # 进入组件包目录
npm link # 创建全局 link
cd ~/projects/node-bloggy # 进入其他项目目录
npm link redis # link 组件包当然也可以取消 link
cd ~/projects/node-redis # 进入组件包目录
npm unlink # 取消全局 link
cd ~/projects/node-bloggy # 进入其他项目目录
npm unlink redis # 取消 link 组件包pnpm 和 npm 的命令不完全一样:
别名: ln
使当前本地包可在系统范围内或其他位置访问。
pnpm link <dir>
pnpm link --global
pnpm link --global <pkg>将 link 位置改为 <dir>.
从执行此命令的路径或通过 <dir> 指定的文件夹,链接 package 到 node_modules 中。
将此命令在执行的位置或通过 –dir 选项指定的位置链接到全局的 node_modules,这样它就可以通过 pnpm link --global <pkg> 从另一个软件包中引用。 此外,如果软件包具有 bin 字段,则软件包的二进制文件将在系统范围内可用。
将指定的包(<pkg>)从全局 node_modules 链接到 package 的 node_modules,从该 package 中执行或通过 --dir 选项指定。
取消链接一个系统范围的 package (相对于 pnpm link).
类似于 yarn unlink,但 pnpm 会在删除外部链接后重新安装依赖项。
如果要删除使用 pnpm link --global <package> 建立的链接,则应使用 pnpm uninstall --global <package>。pnpm unlink 仅删除当前目录中的链接。