Перейти к основному содержимому
Версия: Будущая

pnpm install

Алиасы: i

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

В среде CI установка завершается неудачно, если присутствует локфайл, но требуется его обновление.

Внутри [воркспейса][], pnpm install устанавливает все зависимости во всех проектах. Если вы хотите отключить это поведение, задайте для recursive-install значение false.

TL;DR

КомандаОбозначение
pnpm i --offlineУстановить офлайн, используя только хранилище (CAS)
pnpm i --frozen-lockfilepnpm-lock.yaml не будет обновлён
pnpm i --lockfile-onlyТолько pnpm-lock.yaml будет обновлён

Опции

--force

Принудительно переустановите зависимости: обновите пакеты, измененные в хранилище, заново создайте lockfile и/или директорию модулей, созданную несовместимой версией pnpm. Установите все optionalDependencies, даже если они не соответствуют текущей среде (процессор, ОC, архитектура).

--offline

  • По умолчанию: false
  • Тип: Boolean

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

--prefer-offline

  • По умолчанию: false
  • Тип: Boolean

Если значение true, то проверка на устаревание кэшированных данных будет пропущена, но отсутствующие данные будут запрошены с сервера. Чтобы включить полный офлайн режим, используйте --offline.

--prod, -P

pnpm не будет устанавливать пакеты, перечисленные в devDependencies, и удалит уже установленные, если переменная среды NODE_ENV установлена в значение production. Используйте этот флаг, чтобы проинструктировать pnpm игнорировать NODE_ENV и вместо этого взять production-or-not статус из флага.

--dev, -D

Только devDependencies будут установлены, а dependencies удалены, если они уже были установлены, независимо от NODE_ENV.

--no-optional

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

--lockfile-only

  • По умолчанию: false
  • Тип: Boolean

При использовании обновляет только pnpm-lock.yaml и package.json. Ничего не записывается в папку node_modules.

--fix-lockfile

Автоматически исправить повреждённые записи в lockfile'е.

--frozen-lockfile

  • По умолчанию:
    • Для не-CI: false
    • Для CI: true, если присутствует lockfile
  • Тип: Boolean

Если true, pnpm не генерирует lock-файл и не производит установку, если lock-файл не синхронизирован с манифестом / требует обновлений, либо lock-файл отсутствует.

Этот параметр по умолчанию 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

Merge all git branch lockfiles. Read more about git branch lockfiles.

--reporter=<name>

  • По умолчанию:
    • Для TTY stdout: default
    • Для не-TTY stdout: append-only
  • Тип: default, append-only, ndjson, silent

Allows you to choose the reporter that will log debug info to the terminal about the installation progress.

  • silent - в консоль не записывается вывод, даже критические ошибки
  • default - отчёт по умолчанию, когда stdout - TTY
  • append-only - вывод всегда добавляется в конец. Манипуляции с курсором не выполняются
  • ndjson - наиболее подробный репортер. Выводит все журналы в формате ndjson

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

--use-store-server

  • По умолчанию: false
  • Тип: Boolean

Starts a store server in the background. The store server will keep running after installation is done. To stop the store server, run pnpm server stop

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

Filter currently does not work properly with v8 default config, you have to implicitly set dedupe-peer-dependents to false to have that work. For more info and progress please refer to #6300 :::

Подробнее о фильтрации.

--resolution-only

Added in: v8.3.0

Re-runs resolution: useful for printing out peer dependency issues.