No Windows, por algum motivo, quando executo, npm install
ele não instala o devDependencies . AFAIK deveria. Se eu executar o npm install --dev
devDependencies estão instalados. Não entendo por npm install
que não instala o devDependencies também, mas instala apenas dependências. Qual seria a razão? Como posso corrigir isso?
Talvez algo esteja errado com o meu package.json ? Está listado abaixo, se for útil:
{
"name": "try-brunch",
"version": "0.1.0",
"private": "true",
"devDependencies": {
"brunch": "^2.0.4",
"cssnano-brunch": "^1.1.5",
"javascript-brunch": "^1.8.0",
"sass-brunch": "^1.9.2",
"uglify-js-brunch": "^1.7.8"
},
"dependencies": {
"jquery": "^2.1.4"
}
}
devDependencies
são literalmente dependências para os desenvolvedores do módulo . Aposto que muitos de nós temosnpm install
um módulo para usá-lo, em vez de desenvolvê-lo.devDependencies
é necessária apenas quando você escreve o pacote (aplicativo). Usá-lo não requer odevDependencies
. Portanto , é razoáveldevDependencies
exigir a instalação de sinalizadores extras. Senpm install
instaladodevDependencies
por padrão , os usuários também receberão pacotes redundantes.npm i
na minha pasta, ele pega o pypackage.json
e instala os deps e os devdeps. É assim que ele deve funcionar e faz sentido (por exemplo, quando eu façonpm i
depoisgit clone
que espero ter tudo o que preciso, incluindo, por exemplo, plugins webpack). Esta pergunta aborda um erro, quando o comportamento real é diferente do pretendido. pls, consulte docs - docs.npmjs.com/cli/install . Há uma bandeira para não instalar o devdeps, mas o comportamento padrão é instalá-los, o que faz todo o sentido e é o que todos esperamnpm i
deve inicializar os dois, que é o comportamento pretendido, são e documentado, por isso sinceramente não entendo por que você diz que esse problema deve ser um padrãoRespostas:
Verifique os documentos do NPM para instalar
Você tentou
Se você está preocupado que seu package.json esteja incorreto, a melhor coisa a fazer é isso. Crie uma nova pasta e execute:
Então:
E você deve estar pronto! Caso contrário, continuará postando outras opções.
Verifique sua configuração do npm:
O npm obtém suas definições de configuração na linha de comando, variáveis de ambiente e arquivos npmrc. Portanto, verifique as variáveis de ambiente e o npmrc arquivo .
Ainda está falhando?
Ok, crie uma nova pasta, idealmente em outro lugar no seu sistema de arquivos. ie não na mesma hierarquia de pastas. Por exemplo, C: \ myNewFolder - quanto mais próximo da base C:, melhor.
Então corra:
Agora execute:
e finalmente:
Tudo funciona como esperado?
O que estou tentando fazer é entender se o seu problema é global ou se é algo local para a pasta e as dependências anteriores.
fonte
Verifique se o valor de produção da configuração npm está definido como true. Se esse valor for verdadeiro, ele ignorará as dependências de desenvolvimento.
Corre
npm config get production
Para configurá-lo:
npm config set -g production false
fonte
true
vez defalse
?certifique-se de não ter a variável env
NODE_ENV
definida como 'produção'.Se o fizer, as dependências de desenvolvimento não serão instaladas sem o
--dev
sinalizadorfonte
npm install --dev
instala o devDependencies recursivamente . Isso quase nunca é o que você deseja e, de fato, é preterido .--dev
opção está obsoleto. Use em--only=dev
vez dissoEu tinha um
package-lock.json
arquivo de uma versão antiga do meu package.json, excluí isso e tudo foi instalado corretamente.fonte
Eu tive um problema parecido.
npm install --only=dev
não funcionou e nemnpm rebuild
. Em última análise, eu tive que excluirnode_modules
epackage-lock.json
e corrernpm install
novamente. Isso consertou para mim.fonte
Você pode usar o caminho curto para dependências de instalação apenas para desenvolvimento, da seguinte maneira:
fonte
Verifique se o seu
package.json
é válido ...Eu tive o seguinte erro ...
npm WARN Invalid name: "blah blah blah"
e que, da mesma forma, causou a
devDependencies
não instalação.FYI, alterando o
package.json
"nome" parablah-blah-blah
corrigi-lo.fonte
Eu tenho o mesmo problema porque eu configurei o
NODE_ENV=production
enquanto construí o Docker. Então eu adiciono mais umnpm install --only=dev
. Tudo funciona bem. Preciso das devDependencies para criar módulos TypeSciprtfonte