Перейти к основному содержимому
Версия: 8.x

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

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

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>

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

Added in: v8.3.0

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