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

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

  • По умолчанию:
    • 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. If false, pnpm will install all packages listed in devDependencies and dependencies.

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

Позволяет выбрать репо́ртера, который будет записывать отладочную информацию в терминал о ходе установки.

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

Если вы хотите изменить тип печатаемой информации, используйте параметр loglevel.

--use-store-server

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

Deprecated feature

Запускает сервер хранилища в фоновом режиме. Сервер хранилища продолжит работу после завершения установки. Для остановки сервера хранилища, запустите pnpm server stop

--shamefully-hoist

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

Создает плоскую структуру node_modules, аналогичную структуре npm или yarn. ПРЕДУПРЕЖДЕНИЕ: Это крайне не рекомендуется.

--ignore-scripts

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

Не выполнять скрипты, определенные в package.json в корне проекта и в его зависимостях.

--filter <package_selector>

warning

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

Перезапуск распознавания: полезно для распечатки проблем с peer dependencies.