Instalei o Node.js na minha máquina de desenvolvimento Windows 7 x64, de maneira manual:
mkdir C:\Devel\nodejs
cd C:\Devel\nodejs
set NODE_PATH=%CD%
setx /M PATH "%PATH%;%NODE_PATH%"
setx /M NODE_PATH "%NODE_PATH%\node_modules"
Coloquei o binário x64 do nó principal junto com o gerenciador de pacotes npm emC:\Devel\nodejs
. Funciona perfeitamente e posso atualizar o binário principal sem lidar com o instalador.
O único problema que não consigo resolver é mover a pasta de cache. Quando eu instalo um pacote local:
npm install express
... o cache é colocado na %APP_DATA%\npm-cache
pasta. Eu gostaria de mudar para:
C:\Devel\nodejs\npm-cache
Como posso alterar a pasta de cache npm ou desativá-la completamente?
Respostas:
Você pode alterar a pasta de cache do npm usando a
npm
linha de comando. (consulte: https://docs.npmjs.com/misc/config e mais especificamente https://docs.npmjs.com/misc/config#cache )Então você pode querer tentar este comando:
fonte
npm config list
para verificar a configuração corretaVocê também pode definir uma variável de ambiente com
export npm_config_cache=/path/to/cache
(Unix) ouset npm_config_cache=C:\path\to\cache
(Win) como uma alternativa paranpm config set
(isso é verdadeiro para todas as opções de configuração em npm).Para qualquer pessoa que use o docker, você pode adicionar o env var no tempo de execução com:
fonte
Você também pode fazer o seguinte:
Para ter o caminho do cache como você deseja, para um único pacote durante a instalação:
Para ter o caminho do cache como você deseja, para todos os pacotes em package.json:
Basta estar no diretório onde package.json está como de costume e fazer
Você pode não encontrar isso na documentação do npm, mas eu tentei com o npm 6 e funciona. Parece que funciona desde o npm 5 [Consulte: Como especificar a pasta de cache no npm5 no comando de instalação?
fonte
Além disso, descobri que executar um comando de atualização também funciona - por exemplo:
Por último, pode-se verificar seu diretório npm-cache para ver se está sendo preenchido ou não.
fonte
No Windows, você pode simplesmente ir para a pasta de cache desejada e fazer
npm set cache --global
fonte