Перейти до основного змісту
Версія: 10.x

pnpm install

Псевдоніми: i

pnpm install використовується для встановлення всіх залежностей проєкту.

У середовищі CI встановлення не вдається, якщо файл блокування присутній, але потребує оновлення.

У робочому просторі, pnpm install встановлює всі залежності в усіх проєктах. Якщо ви бажаєте вимкнути цю поведінку, змініть значення recursive-install на false.

TL;DR

КомандаЗначення
pnpm i --offlineВстановити оффлайн, тільки зі сховища
pnpm i --frozen-lockfilepnpm-lock.yaml не буде змінено
pnpm i --lockfile-onlyОновити тільки pnpm-lock.yaml

Параметри

--force

Примусове перевстановлення залежностей: перезавантаження пакунків, змінених у сховищі, перестворення файлу блокування та/або теки модулів, створених несумісною версією pnpm. Встановить усі optionalDependencies, навіть якщо вони не задовольняють поточному оточенню (cpu, os, arch).

--offline

  • Стандартно: false
  • Тип: Boolean

Якщо true, pnpm буде використовувати тільки пакунки, які вже доступні в сховищі. Якщо пакунок не буде знайдено локально, встановлення завершиться невдачею.

--prefer-offline

  • Стандартно: false
  • Тип: Boolean

Якщо true, то перевірку свіжості кешованих даних буде пропущено, але дані, яких бракує буде запитано з сервера. Щоб примусово увімкнути офлайн режим, використовуйте --offline.

--prod, -P

  • Стандартно: false
  • Тип: Boolean

Якщо true, pnpm не встановлюватиме жодного пакунка, з devDependencies, і видалятиме ті, які вже встановлені. Якщо false, pnpm встановить усі пакунки, з devDependencies та dependencies.

--dev, -D

Встановлюються лише devDependencies і видаляються dependencies, якщо вони вже були встановлені.

--no-optional

optionalDependencies не буде встановлено.

--lockfile-only

  • Стандартно: false
  • Тип: Boolean

При використанні, оновлює тільки pnpm-lock.yaml і package.json. До теки node_modules нічого не буде записано.

--fix-lockfile

Автоматично виправити пошкоджені записи файлу блокування.

--frozen-lockfile

  • Стандартно:
    • Для не-CI: false
    • Для CI: true, якщо присутній файл блокування
  • Тип: Boolean

Якщо true, pnpm не генерує файл блокування та не виконує інсталяцію, якщо файл блокування не синхронізований з маніфестом / потрібне оновлення або файл блокування відсутній.

Цей параметр стандартно дорівнює true в CI середовищах. Для виявлення середовищ CI використовується наступний код:

https://github.com/watson/ci-info/blob/44e98cebcdf4403f162195fbcf90b1f69fc6e047/index.js#L54-L61
exports.isCI = !!(
env.CI || // Travis CI, CircleCI, Cirrus CI, GitLab CI, Appveyor, CodeShip, dsari
env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI
env.BUILD_NUMBER || // Jenkins, TeamCity
env.RUN_ID || // TaskCluster, dsari
exports.name ||
false
)

--merge-git-branch-lockfiles

Обʼєднання всіх файлів блокування гілок git. [Читайте більше про файли блокування гілок git.](.. /git_branch_lockfiles)

--reporter=<name>

  • Стандартно:
    • Для TTY stdout: default
    • Для non-TTY stdout: append-only
  • Тип: default, append-only, ndjson, silent

Дозволяє вибрати репортера, який записуватиме у термінал налагоджувальну інформацію про хід встановлення.

  • silent — у консоль не виводиться жодних даних, навіть фатальних помилок
  • default — стандартний репортер, коли stdout є TTY
  • append-only — результат завжди додається в кінець. Жодні маніпуляції з курсором не виконуються
  • ndjson — найдокладніший репортер. Виводить всі журнали в форматі ndjson

Якщо ви хочете змінити тип інформації, що виводиться, скористайтеся параметром loglevel.

--use-store-server

  • Стандартно: false
  • Тип: Boolean
небезпека

Застаріла функція

Запускає сервер сховища у фоновому режимі. Сервер сховища буде продовжувати працювати після завершення встановлення. Щоб зупинити сервер сховища, виконайте pnpm server stop

--shamefully-hoist

  • Стандартно: false
  • Тип: Boolean

Створює пласку структуру node_modules, подібну до структури npm або yarn. ПОПЕРЕДЖЕННЯ: це вкрай не рекомендується.

--ignore-scripts

  • Стандартно: false
  • Тип: Boolean

Не виконувати будь-які скрипти, визначені в package.json проєкту та його залежностях.

--filter <package_selector>

попередження

Наразі фільтр не працює належним чином зі стандартною конфігурацією v8, вам потрібно неявно встановити dedupe-peer-dependents у false, щоб він працював. Для отримання додаткової інформації та прогресу, будь ласка, зверніться до #6300

Читайте більше про фільтрування.

--resolution-only

Перезапускає вирішення: корисно для виводу проблем із прямою залежністю.