Я новичок в Узле и Лерне.Я пришел из Java-фона и пытаюсь создать проект узла monorepo с использованием Lerna - очень похоже на maven и его модули.
Моя текущая структура проекта выглядит примерно так: Обратите внимание, что package-1
внутри package-2/node_modules/
является символической ссылкой, созданной с использованием lerna add @me/package-1 --scope=@me/package-2
|packages
|package-1
| |node_modules
| | |.bin
| | >cucumber-js
| >package.json
|package-2
| |node_modules
| | |@me
| | |package-1
| | |node_modules
| | | |.bin
| | | >cucumber-js
| >package.json
>lerna.json
>package.json
>package-lock.json
Я могу запустить cucumber-js из package-1
, используя 2 способа:
добавить скрипт в
package-1/package.json
, вызывая
cucumber-js
и запуститьскрипт под
package-1
реж.Например,
...
"scripts": {
"test": "cucumber-js"
}...
~documents/my-project/packages/package-1
$ npm run test
напрямую позвоните по номеру
cucumber-js
из пакета 1.например,
~documents/my-project/packages/package-1
$ ./node_modules/.bin/cucumber-js
Я считаю, что можно сделать то же самое из пакета-2, но пока я не могу заставить его работать.
До сих пор я пытался сделать прямойзвоните из package-2
dir вот так:
~documents/my-project/packages/package-2
$ ./node_modules/@me/package-1/node_modules/.bin/cucumber-js
но я получаю ошибку:
Error: Cannot find module 'cucumber' from 'documents\my-project\packages\package-2'
at documents\my-project\packages\package-1\node_modules\resolve\lib\async.js:51:31
at processDirs (documents\my-project\packages\package-1\node_modules\resolve\lib\async.js:185:39)
at ondir (documents\my-project\packages\package-1\node_modules\resolve\lib\async.js:200:13)
at load (documents\my-project\packages\package-1\node_modules\resolve\lib\async.js:83:43)
at onex (documents\my-project\packages\package-1\node_modules\resolve\lib\async.js:108:17)
at documents\my-project\packages\package-1\node_modules\resolve\lib\async.js:12:69
at FSReqWrap.oncomplete (fs.js:152:21)
Возможно ли то, что я пытаюсь сделать, или это означает, что мне нужноустановить огурец для каждого зависимого пакета?