проблема с местом установки зависимости рабочих пространств пряжи

У меня есть проект, в котором используются рабочие области пряжи. Структура проекта:

package.json
packages
  - project A
  - project B
  - project C

Когда я запускаю yarn install, пакеты устанавливаются в корневой узел проекта node_modules. Недавно я добавил еще один проект (D) и запустил yarn install. В проекте D некоторые из его зависимостей были установлены в projectD/node_modules, поэтому у меня есть некоторые зависимости в корне и некоторые зависимости в projectD, и это вызывает ошибки при запуске проекта.

Могу ли я «заставить» yarn установить все зависимости в корневом node_modules?


person Thiago Nascimento    schedule 23.08.2019    source источник


Ответы (1)


У меня только что была эта проблема. Похоже, у вас есть несоответствие версий между зависимостью projectD и зависимостью ваших других проектов. Упомянутая вами ошибка может определить, в чем заключается зависимость (поскольку я предполагаю, что она выдаст ошибку «невозможно разрешить модуль»), в противном случае вы можете обнаружить, что то, что установлено в папке node_modules проектаD, определит ее.

После определения я просматриваю ваш файл yarn.lock и выясняю, какие пакеты зависят от несовпадающей версии. Затем вы можете обнаружить, что обновление пакета, имеющего более старую версию, устраняет вашу проблему, или вы можете решить, что лучше использовать параметр nohoist рабочих областей

Видеть:

https://dev.to/michalbryxi/share-common-code-with-yarn-workspaces-5g29 https://yarnpkg.com/blog/2018/02/15/nohoist/

person Will Howlett    schedule 02.12.2019