pnpm install
Псевдоніми: i
pnpm install
використовується для встановлення всіх залежностей проєкту.
У середовищі CI встановлення не вдається, якщо файл блокування присутній, але потребує оновлення.
У робочому просторі, pnpm install
встановлює всі залежності в усіх проєктах. Якщо ви бажаєте вимкнути цю поведінку, змініть значення recursive-install
на false
.
TL;DR
Команда | Значення |
---|---|
pnpm i --offline | Встановити оффлайн, тільки зі сховища |
pnpm i --frozen-lockfile | pnpm-lock.yaml не буде змінено |
pnpm i --lockfile-only | Оновити тільки pnpm-lock.yaml |
Параметри фільтрації залежностей
За відсутності файлу блокування pnpm має створити його, і він має бути узгодженим незалежно від фільтрації залежностей, тому запуск pnpm install --prod
у теці без файлу блокування все одно призведе до розвʼязання залежностей dev, а якщо розвʼязання буде невдалим, то виникне помилка. Єдиним винятком з цього правила є залежності link:
.
Без --frozen-lockfile
pnpm перевірятиме застарілу інформацію з залежностей file:
, тому запуск pnpm install --prod
без --frozen-lockfile
у середовищі, де ціль file:
було видалено, призведе до помилки.
--prod, -P
- Стандартно: false
- Тип: Boolean
Якщо true
, pnpm не встановлюватиме жодного пакунка, з devDependencies
, і видалятиме ті, які вже встановлені.
Якщо false
, pnpm встановить усі пакунки, з devDependencies
та dependencies
.
--dev, -D
Встановлюються лише devDependencies
і видаляються dependencies
, якщо вони вже були встановлені.
--no-optional
optionalDependencies
не буде встановлено.
Параметри
--force
Примусове перевстановлення залежностей: перезавантаження пакунків, змінених у сховищі, перестворення файлу блокування та/або теки модулів, створених несумісною версією pnpm. Встановить усі optionalDependencies, навіть якщо вони не задовольняють поточному оточенню (cpu, os, arch).
--offline
- Стандартно: false
- Тип: Boolean
Якщо true
, pnpm буде використовувати тільки пакунки, які вже доступні в сховищі.
Якщо пакунок не буде знайдено локально, встановлення завершиться невдачею.
--prefer-offline
- Стандартно: false
- Тип: Boolean
Якщо true
, то перевірку свіжості кешованих даних буде пропущено, але дані, яких бракує буде запитано з сервера. Щоб примусово увімкнути офлайн режим, використовуйте --offline
.
--no-lockfile
Не читати та не генерувати файл pnpm-lock.yaml
.
--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 використовується наступний код:
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>
Filter currently does not work properly with v8 default config, you have to implicitly set dedupePeerDependents to false
to have that work. Для отримання додаткової інформації та прогресу, будь ласка, зверніться до #6300
Читайте більше про фільтрування.
--resolution-only
Перезапускає вирішення: корисно для виводу проблем із прямою залежністю.