node.js - with - npm quickstart




Local de instalação global npm no windows? (3)

Não tenho 100% de certeza, mas acredito ter instalado o nó v5 do instalador do Windows nos meus PCs domésticos e de escritório.

No meu PC doméstico, as instalações globais acontecem sob% APPDATA%:

(dev) go|c:\srv> which lessc
c:\users\bjorn\appdata\roaming\npm\lessc
c:\users\bjorn\appdata\roaming\npm\lessc.cmd

enquanto no meu PC do escritório, eles vão em arquivos de programa:

(dev) go|w:\srv> which lessc
c:\program files\nodejs\lessc
c:\program files\nodejs\lessc.cmd

Eu preciso fornecer o caminho completo para um número dessas ferramentas globais para o observador de arquivos do PyCharm, e desde que o arquivo de projeto que eu compartilhei faria sentido não ter recursos globais em uma pasta de usuário.

Por que as instalações globais acabam em pastas diferentes e como posso forçá-las a um local comum a todos os membros da equipe?


Basta pressionar o botão do Windows e digite% APPDATA% e digite enter.

Acima está o local onde você pode encontrar a pasta \ npm \ node_modules. É aqui que os módulos globais ficam no seu sistema.


De acordo com: https://docs.npmjs.com/files/folders

  • Instalação local (padrão): coloca coisas em ./node_modules da raiz do pacote atual.
  • Instalação global (com -g): coloca o material em / usr / local ou onde o nó estiver instalado.
  • Instale-o localmente se você precisar de require ().
  • Instale-o globalmente se você for executá-lo na linha de comando. -> Se você precisar de ambos, instale-o em ambos os lugares ou use o npm link.

prefixo de configuração

O prefixo config assume como padrão o local onde o nó está instalado. Na maioria dos sistemas, isso é /usr/local . No Windows, esse é o local exato do binário node.exe .

Os documentos podem estar um pouco desatualizados, mas explicam por que as instalações globais podem acabar em diretórios diferentes:

(dev) go|c:\srv> npm config ls -l | grep prefix
; prefix = "C:\\Program Files\\nodejs" (overridden)
prefix = "C:\\Users\\bjorn\\AppData\\Roaming\\npm"

Com base nas outras respostas, pode parecer que a substituição é agora o local padrão no Windows e que eu posso ter instalado a versão do meu escritório antes de essa substituição ser implementada.

Isso também sugere uma solução para fazer com que todos os membros da equipe tenham itens globais armazenados no mesmo caminho absoluto relativo ao PC, ou seja, (executar como Administrador):

mkdir %PROGRAMDATA%\npm
setx PATH "%PROGRAMDATA%\npm;%PATH%" /M
npm config set prefix %PROGRAMDATA%\npm

abra uma nova janela cmd.exe e reinstale todos os pacotes globais.

Explicação (por lineno.):

  1. Crie uma pasta em um local sensível para manter os globals (a Microsoft está convencida de que você não deve gravar em ProgramFiles, portanto% PROGRAMDATA% parece o próximo lugar lógico.
  2. O diretório precisa estar no caminho, então use setx .. /M para definir o caminho do sistema (em HKEY_LOCAL_MACHINE). Isso é o que requer que você execute isso em um shell com permissões de administrador.
  3. Diga ao npm para usar esse novo caminho. (Nota: a pasta não é visível em% PATH% neste shell, então você deve abrir uma nova janela).

Se você está apenas tentando descobrir onde o npm está instalando seu módulo global (o título deste encadeamento), veja a saída ao executar o npm install -g sample_module

$ npm install -g sample_module C: \ Users \ usuário \ AppData \ Roaming \ npm \ sample_module -> C: \ Usuários \ usuário \ AppData \ Roaming \ npm \ node_modules \ sample_module \ bin \ sample_module.js + [email protected] atualizado 1 pacote em 2.821s





pycharm