npm link命令

半兽人 发表于: 2025-11-12   最后更新时间: 2025-11-12 10:46:37  
{{totalSubscript}} 订阅, 13 游览

查看哪些包被 link 了

全局查看

npm ls -g --link=true
  • --link=true 会列出 全局 symlink
  • 你会看到类似:
/usr/local/lib
└── ui-library -> /Users/xxx/workspace/project/my/nextjs/demo/ui-library

当前项目查看

npm ls --link=true
  • 列出 当前项目 node_modules 下的 symlink
  • 例如,你在 web-app 里执行:
ui-library -> /usr/local/lib/node_modules/ui-library

说明 web-appui-library 是通过 link 引入的

取消 link

A. 在项目里取消 link

cd web-app
npm unlink ui-library
  • 取消项目依赖的 link
  • 如果之前通过 npm link 引入了全局 symlink,它会断开
  • 注意:此操作不会删除全局 symlink

B. 删除全局 link

cd ui-library
npm unlink --no-save

或:

npm unlink -g ui-library
  • 解除全局 symlink
  • 此时全局 node_modules 下不会再有 ui-library 的 link

C. 恢复为普通 npm 包安装(可选)

cd web-app
npm install ui-library
  • 会把依赖恢复为普通安装,而不是 symlink

补充小技巧

  1. 确认 link 路径
ls -l node_modules | grep ui-library
  • 可以看到 ui-library -> /path/to/ui-library
  • macOS / Linux 下 symlink 是箭头形式

  • 注意权限

  • 如果之前用过 sudo npm link,全局 link 可能是 root 拥有

  • 取消全局 link 也可能需要 sudo

  • pnpm / yarn

  • pnpm:

pnpm link --list
pnpm unlink ui-library
  • yarn:
yarn link
yarn unlink ui-library

总结

操作 命令
查看全局 link npm ls -g --link=true
查看项目 link npm ls --link=true
取消项目 link npm unlink <package>
取消全局 link npm unlink -g <package>
恢复普通依赖 npm install <package>

tip:日常本地开发测试用 npm link 就够,正式团队共享还是用 pnpm workspace / file:私有 npm 包 更稳。

更新于 2025-11-12
在线,1小时前登录

查看Storybook更多相关的文章或提一个关于Storybook的问题,也可以与我们一起分享文章