Перейти до основного змісту
Версія: 11.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

Параметри фільтрації залежностей

За відсутності файлу блокування pnpm має створити його, і він має бути узгодженим незалежно від фільтрації залежностей, тому запуск pnpm install --prod у теці без файлу блокування все одно призведе до розвʼязання залежностей dev, а якщо розвʼязання буде невдалим, то виникне помилка. Єдиним винятком з цього правила є залежності link:.

Без --frozen-lockfile pnpm перевірятиме застарілу інформацію з залежностей file:, тому запуск pnpm install --prod без --frozen-lockfile у середовищі, де ціль file: було видалено, призведе до помилки.

--prod, -P

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

If true, pnpm will not install any package listed in devDependencies and will remove those insofar they were already installed. If false, pnpm will install all packages listed in devDependencies and dependencies.

--dev, -D

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

--no-optional

optionalDependencies are not installed.

Параметри

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

--no-lockfile

Не читати та не генерувати файл pnpm-lock.yaml.

--lockfile-only

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

When used, only updates pnpm-lock.yaml and package.json. Nothing gets written to the node_modules directory.

--fix-lockfile

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

--frozen-lockfile

  • Стандартно:
    • For non-CI: false
    • For CI: true, if a lockfile is present
  • Тип: Boolean

If true, pnpm doesn't generate a lockfile and fails to install if the lockfile is out of sync with the manifest / an update is needed or no lockfile is present.

This setting is true by default in CI environments. Для виявлення середовищ 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. Read more about git branch lockfiles.

--reporter=<name>

  • Стандартно:
    • For TTY stdout: default
    • For non-TTY stdout: append-only
  • Type: default, append-only, ndjson, silent

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

  • silent - no output is logged to the console, not even fatal errors
  • default - the default reporter when the stdout is TTY
  • append-only - the output is always appended to the end. Жодні маніпуляції з курсором не виконуються
  • ndjson - the most verbose reporter. Prints all logs in ndjson format

If you want to change what type of information is printed, use the loglevel setting.

--shamefully-hoist

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

Creates a flat node_modules structure, similar to that of npm or yarn. WARNING: This is highly discouraged.

--ignore-scripts

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

Do not execute any scripts defined in the project package.json and its dependencies.

--filter <package_selector>

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

--resolution-only

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

--cpu=<name>

Додано у: v10.14.0

Перевизначити архітектуру CPU нативних модулів для встановлення. Прийнятні значення такі самі, як поле cpu у файлі package.json, яке походить із process.arch.

--os=<name>

Додано у: v10.14.0

Перевизначити OS нативних модулів для встановлення. Прийнятні значення такі самі, як поле os у файлі package.json, яке походить із process.platform.

--libc=<name>

Додано у: v10.14.0

Перевизначити libc нативних модулів для встановлення. Прийнятні значення такі самі, як поле libc у файлі package.json.