Pular para o conteúdo principal
Versão: Next

pnpm install

Aliases: i

pnpm install é usado para instalar todas as dependências de um projeto.

Num ambiente de CI, a instalação falhará se um lockfile estiver presente, mas precise ser atualizado.

Dentro de uma [área de trabalho][], pnpm install instala todas as dependências em todos os projetos. Se quiser desativar este comportamento, mude a configuração de recursive-install para false.

Resumo

ComandoSignificado
pnpm i --offlineInstala offline apenas com os pacotes em cache
pnpm i --frozen-lockfileO pnpm-lock.yaml não é atualizado
pnpm i --lockfile-onlyApenas o pnpm-lock.yaml é atualizado

Opções

--force

Força a reinstalação das dependências: busca novamente pacotes modificados na loja, recriando um lockfile e/ou modificando o diretório de módulos criados por uma versão não compatível do pnpm. Instala todas as dependências opcionais, mesmo que elas não satisfaçam o ambiente atual (cpu, os, arch).

--offline

  • Padrão: false
  • Tipo: Boolean

Se true, pnpm irá usar apenas os pacotes disponíveis em cache. Se um pacote não for encontrado localmente, a instalação falhará.

--prefer-offline

  • Padrão: false
  • Tipo: Boolean

Se true, as verificações de desatualização dos dados cacheados serão ignorados, mas os dados ausentes serão solicitados do servidor. Para forçar o modo offline, use --offline.

--prod, -P

O pnpm não instalará nenhum pacote listado em devDependencies e removerá aqueles que já estiverem instalados se a variável de ambiente NODE_ENV estiver definida como produção. Use esta flag para instruir o pnpm a ignorar o NODE_ENV e pegar seu status de produção desta flag no lugar.

--dev, -D

Apenas devDependencies serão instaladas e dependencies serão removidas desde que já estejam instaladas, independentemente do NODE_ENV.

--no-optional

optionalDependencies não serão instaladas.

--lockfile-only

  • Padrão: false
  • Tipo: Boolean

Quando passado, apenas atualiza o pnpm-lock.yaml e package.json. Nada será escrito no diretório node_modules.

--fix-lockfile

Corrige entradas quebradas no lockfile.

--frozen-lockfile

  • Padrão:
    • Fora de CI: false
    • Em CI: true, se um lockfile estiver presente
  • Tipo: Boolean

Se true, o pnpm não vai gerar um lockfile e vai falhar a instalação nas seguintes situações: o lockfile não está em conforme com o manifesto, uma atualização é necessária ou não tem nenhum lockfile presente.

Essa configuração é por padrão true no [ambiente de CI][]. O seguinte código é usado para detectar ambientes de 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>

  • Padrão:
    • Em stdout TTY: default
    • Em stdout não TTY: append-only
  • Tipo: default, append-only, ndjson, silent

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

  • silent - nenhuma informação será impressa no terminal, nem mesmo para erros fatais
  • default - o relator padrão quando o stdout é TTY
  • append-only - A saída é sempre adicionada no final. O cursor não é manipulado
  • ndjson - o relator mais detalhador. Todos os logs sairão no formato ndjson

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

--use-store-server

  • Padrão: false
  • Tipo: 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

  • Padrão: false
  • Tipo: Boolean

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

--ignore-scripts

  • Padrão: false
  • Tipo: 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 :::

Leia mais sobre filtragem.

--resolution-only

Adicionado em: v8.3.0

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