Установите зависимость dev в корневом каталоге с рабочими пространствами NPM и Lerna.

Итак, с выпуском NPM 7.0.0 я пытаюсь понять, как использовать NPM вместо Yarn Workspaces с Lerna.

В Yarn можно сделать yarn add packageName --dev -W, чтобы добавить зависимость к корневому уровню package.json. Как я могу сделать это с помощью NPM?


person AngularDebutant    schedule 04.11.2020    source источник


Ответы (2)


npm на самом деле не отражает, как пряжа работает с рабочими пространствами.

Yarn ожидает, что вы явно установите deps, а npm этого не делает. (на самом деле запуск npm install на любом другом уровне, отличном от корня рабочей области, может привести к поломке при использовании реализации рабочей области npms)

Таким образом, чтобы добавить пакет (в корне или нет), вы должны вручную отредактировать package.json на том уровне, на котором вы хотите добавить зависимость, а затем запустить npm install.

Пример:

  1. Вы хотите добавить одновременно в корневую папку и использовать ее для запускать несколько скриптов... одновременно
  2. Вы не добавляете его в рабочее пространство внутри рабочего пространства, поскольку оно фактически не принадлежит ни к одному из них.
  3. Вручную отредактируйте package.json в корневой папке вашей рабочей области.
  4. Добавить devDependencies: {одновременно: ^5.3.0},
  5. запустите npm install в корне вашей рабочей области
  6. concurrent теперь находится в node_modules и может выполняться в корне вашей рабочей области
person Tor Raswill    schedule 30.11.2020

Вы могли бы сделать это так -

npm install packageName --dev
person Akash    schedule 05.11.2020
comment
Флаг -g выполняет глобальную установку, а это не то, что искал OP. Правильный синтаксис будет npm install packageName --sav-dev или npm i packageName -D - person Free Url; 19.04.2021