Перейти до основного змісту
Версія: 8.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. Install all optionalDependencies even they don't satisfy the current environment(cpu, os, arch).

--offline

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

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

--prefer-offline

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

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

--prod, -P

  • Стандартно:
    • If NODE_ENV is production: true
    • If NODE_ENV is not production: false
  • Type: Boolean

If set, pnpm will ignore NODE_ENV and instead use this boolean value for determining the environment.

If true, pnpm will not install any package listed in devDependencies and will remove those insofar they were already installed. Якщо false, pnpm встановить усі пакунки, з devDependencies та dependencies.

--dev, -D

Only devDependencies are installed and dependencies are removed insofar they were already installed, regardless of the NODE_ENV.

--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.

--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

Added in: v8.3.0

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