#lerna #npm-link #pnpm
Вопрос:
Preferred I would like to thank this project, but I am not sure what went wrong involving Lerna NPM Execa
1. The project structure looks something like this
/Users/xxxx/project-root-dir
├─┬ packages
│ ├─┬ a-test
│ │ └── package.json # scripts: { pub: "s-lerna beta" }
│ ├── s-lerna
│ ├── src/bin/index.js
│ ├── package.json # dependencies: { "execa": "^5.0.0", "lerna": "^4.0.0" }
2. Execute NPM link in S-LERNA
3. Execute NPM link S-Lerna under A-test
4. Running NPM run pub under a-test is equivalent to NPX s-lerna beta
5. Expected Behaviors:
S-Lerna for internal use
await execa(`lerna version prerelease --preid beta --yes`, [], { shell: true, preferLocal: true })
Be able to function
6. The reality is that:
/bin/sh: lerna: command not found
7. Some try a-test directories that look like this
├─┬ a-test
│ ├─┬ node_modules
│ │ └── .bin
│ │ └── single-lerna # 软连接
│ │ │ └── node_modules
│ │ │ │ └── lerna
Теперь я, вероятно, понимаю, почему EXECA не может быть найдена, и это вызвано проблемами на этом уровне. Я хочу знать, какие недорогие и стандартные методы могут решить проблему и оправдать ожидания.
Хотя сначала можно запустить NPM-i lerna-без сохранения и ссылки NPM s-lerna в A-тесте, у меня много проектов, и я не могу запускать их в каждом каталоге слишком много проблем!
Может быть хорошим решением PNPM? (Я не пытался)