Como instalar apenas “devDependencies” usando npm

87

Estou tentando instalar SOMENTE o "devDependencies" listado no meu arquivo package.json. Mas nenhum dos comandos a seguir funciona como eu esperava. Todos os comandos a seguir instalam as dependências de produção, o que eu não desejo.

npm install --dev
npm install --only=dev
npm install --only-dev

Não consigo pensar em mais nenhuma maneira de dizer ao npm para instalar as devDependencies sozinho. :(

Nesan Rajendran
fonte
como hoje - npm WARN install O uso da --devopção está obsoleto. Use em seu --only=devlugar.
Andriy Leshchuk

Respostas:

135

Verifique os documentos do NPM para instalação :

Com o --productionsinalizador (ou quando a NODE_ENVvariável de ambiente é definida para produção), o npm não instalará os módulos listados em devDependencies.

O --only={prod[uction]|dev[elopment]}argumento fará com que apenas devDependencies ou apenas não devDependencies sejam instalados, independentemente do NODE_ENV.

Você já tentou o seguinte?

npm install --only=dev
Ahmed Farag Mostafa
fonte
10
Acabei de descobrir que minha versão npm era 2.x. Eu atualizei para v3.x executando o comando npm install npm -ge --only = dev option funcionou perfeitamente . Obrigado pela resposta.
Nesan Rajendran
O problema de versão mencionado por @NesanJoseph foi o problema no meu caso também. Na versão mais antiga do npm, npm install --produsado para instalar itens da dependenciespasta. Ambos npm installe npm install --devusado para instalar a partir de ambos os dependenciese devDependenciespastas!
Shiyaz
Estou tendo o mesmo problema que @ricka menciona usando nvm para executar node v 10.9.0 e npm v 6.4.1 (ambas as versões mais recentes a partir de 18/10) e também usando --only = dev ainda está instalando dependências de aplicativos também . Basicamente, os sinalizadores de instalação do npm são 100% inúteis neste ponto.
Henry
Não funciona para mim (nó v12.19.0, npm v6.14.8). Talvez tenha algo a ver com este problema aberto desde abril de 2016: github.com/npm/npm/issues/12184
Fapaz
23
npm install thePackageName --save-dev

Este trabalho é bom para mim.

Jeff
fonte
3
--save-devsalva o pacote para devDependencies em package.json
Rashomon
1
--save-dev tem o objetivo de sinalizar que o pacote instalado seria instalado sob devDependencies
Daniel Dubovski
3
Mais comonpm install thePackageName --save-dev
Deke
3
Isso irá instalar um único nome explícito de pacote e salvá-lo nas dependências de desenvolvimento. A questão é sobre como instalar apenas devDependencies do package.json.
Lalnuntluanga Chhakchhuak
1
Não atende aos critérios para a pergunta. Sua resposta é instalar: 1. um único pacote 2. a questão pergunta como instalar coisas que já estão no package.json, mas apenas na lista de dependências.
Urasquirrel de
15
npm i -D

Uma versão curta opcional.

Roger Muscito
fonte
SIM, eu tinha feito npm install -De funcionou. então fiquei surpreso e pesquisei isso, depois de muitas respostas, vejo sua resposta :)
its4zahoor
2

Em execução npm install, ele instalará todas as dependências sob devDependencies `ou dependencies .

Para instalar e salvar pacotes como dependências de desenvolvimento em package.json, npm install package_name --save-devou opção de passagem-D

Para instalar todos os pacotes em devDependencies , npm install --only=dev

Para instalar e salvar pacotes como prod ou apenas dependências em package.json, npm install package_name --save-prodou opção de passagem -Pounpm install package_name

Para instalar todos os pacotes sob dependências ou dependências Prod , defina a variável de ambiente NODE_ENV=productionou passe-a com o comando NODE_ENV=production npm installounpm install --only=prod

Em vez de usar o installcomando npm como npm installvocê pode apenas usar icomo npm i, antes de instalar.

Referência

Piyush Sonigra
fonte