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 |
Параметри
--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 використовується наступ ний код:
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
Перезапускає вирішення: корисно для виводу проблем із прямою залежністю.