猿问

你能撤销 lerna bootstrap 吗?

我运行了 lerna bootstrap --hoist。我现在想撤消此操作并取消链接所有已创建的符号链接。有执行此操作的命令吗?



大话西游666
浏览 121回答 2
2回答

慕码人8056858

是的,跑lerna clean参考:https ://github.com/lerna/lerna/tree/main/commands/clean#readme

慕侠2389804

Lerna 链接(或引导程序)将直接在 node_modules 目录下创建符号链接,或者对于具有@-scoped name的包,在具有该名称的子目录中创建符号链接。假设你的包都在./packages/*,任何直接在下面./node_modules或中的符号链接./packages/*/node_modules。例如,在引导之后,lerna 已经创建了几个符号链接到我的创造性命名的@myscope/foo包:.├── lerna.json├── node_modules│   └── @myscope│       └── foo -> ../../packages/foo├── package.json├── package-lock.json└── packages    ├── bar    │   ├── node_modules    │   │   └── @myscope    │   │       └── foo -> ../../../foo    │   └── package.json    └── foo        └── package.json我可以用 find 把它们挖出来:$ find . -type l -and \( -path './node_modules/*' -or -path './packages/*/node_modules/*' \)./packages/bar/node_modules/@myscope/foo./node_modules/@myscope/foo这不是完全有选择性的,因为它可以找到您使用创建的符号链接npm link。我可以ls -l用来转储源和符号链接目标(相readlink对于只打印目标):$ find . -type l -and \( -path './node_modules/*' -or -path './packages/*/node_modules/*' \) -exec ls -l {} \;lrwxrwxrwx 1 eric eric 12 janv.  4 09:46 ./packages/bar/node_modules/@myscope/foo -> ../../../foolrwxrwxrwx 1 eric eric 18 janv.  4 09:45 ./node_modules/@myscope/foo -> ../../packages/foo如果您对选择性有信心,则可以 -exec rm {} \;删除它们。它不如内置的撤消功能好,但至少它可以帮助您了解 lerna 做了什么。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答