No momento, estou aprendendo nodejs no Windows. Vários módulos são instalados globalmente com o npm.cmd, e o nodejs falhou ao localizar os módulos instalados. Veja o jade, por exemplo,
npm install jade -g
O Jade está instalado no diretório "C:\Program Files (x86)\nodejs\node_modules"
, mas o código a seguir falhará com um "Cannot find module 'jade'"
erro,
var jade = require('jade');
No entanto, o código será executado com sucesso quando o jade estiver instalado localmente (sem a opção -g no npm). Não quero usar módulos instalados localmente, é um desperdício de espaço em disco para mim. Como posso fazer com que os módulos instalados globalmente funcionem no Windows?
Respostas:
Adicione uma variável de ambiente chamada
NODE_PATH
e defina-a como%USERPROFILE%\Application Data\npm\node_modules
(Windows XP),%AppData%\npm\node_modules
(Windows 7/8/10) ou sempre que o npm acabar instalando os módulos no seu estilo Windows. Para fazer isso de uma vez por todas, adicione-a como uma variável do sistema na guia Avançado da caixa de diálogo Propriedades do sistema (execuçãocontrol.exe sysdm.cpl,System,3
).A solução rápida no Windows 7+ é apenas executar:
Vale ressaltar que
NODE_PATH
é usado apenas na importação de módulos nos aplicativos Node. Quando você quiser usar os binários dos módulos instalados globalmente na sua CLI, precisará adicioná-lo também à suaPATH
, mas semnode_modules
parte (por exemplo,%AppData%\npm
no Windows 7/8/10).História antiga
Eu sou praticamente novo no node.js, então não posso estar totalmente certo, mas pela minha experiência, funciona da seguinte maneira:
Consulte a pergunta semelhante para obter mais detalhes: Como instalo um módulo globalmente usando o npm?
fonte
set NODE_PATH=C:\Documents and Settings\DevUser\Application Data\npm\node_modules
e funciona como esperado. É estranho que os módulos instalados globalmente estejam posicionados em '% USERPROFILE% \ Application Data \ npm \ node_modules' no Windows. Enquanto isso, não pode haver aspas no NODE_PATH.C:\Program Files\nodejs\node_modules\npm\node_modules
não tem o módulo que eu só instalado usandonpm install -g express
e estava disponível emC:\Documents and Settings\swapnil\Application Data\npm\node_modules
%USERPROFILE%\AppData\Roaming\npm\node_modules
npm list -g
. A primeira linha de saída será o pai do diretório global node_modules - em outras palavras, o diretório global node_modules é{output}\node_modules
. Ela também imprime o diretório de instalação quando você executarnpm install --global {xyz}
se você estiver na plataforma windows7, talvez deva alterar o NODE_PATH assim:
%AppData%\npm\node_modules
fonte
Eu sei que posso acordar um zumbi, mas acho que isso ainda é um problema, se você precisar de acesso global aos módulos de nó no Windows 7, precisará adicioná-lo ao seu caminho de variável global:
Importante: só isso sem a
node_modules
parte, demorei meia hora para ver isso.fonte
node_modules
peça, estava lutando com isso também!Para fazê-lo funcionar no Windows 10, resolvi adicionando a pasta
%USERPROFILE%\AppData\Roaming\npm
ao meu PATH. Tendo\node_modules
acrescentado assim:%USERPROFILE%\AppData\Roaming\npm\node_modules\
não funcionou para mim.fonte
path
variabele ambiente, então podemos executá-lo diretamente no Windows 10Vou apenas citar a postagem no blog deste nó ...
fonte
They’re tiny JavaScript programs.
Algumas dessas bibliotecas certamente não são pequenas!Para abreviar, use
npm link jade
no diretório do aplicativo.fonte
npm link jade
que não pode funcionar no Windows, o npm retorna uma mensagem de erro da seguinte maneira:npm ERR! Error: npm link not supported on windows
npm link
partir de uma janela de comando do administrador.Tentou adicionar / editar variáveis de ambiente e chegou à conclusão de que:
User variables
(da caixa superior) em vez deSystem variables
(da parte inferior); caso contrário, você precisará "executar como administrador" para que ele funcione.;%AppData%\npm
aPath
fim de usá-lo como uma ferramenta de linha de comando (se houver suporte, comojshint
egrunt-cli
).NODE_PATH
e defina-o%AppData%\npm\node_modules
emrequire('<pkg_name>')
scripts sem instalá-lo no diretório do projeto. (Masnpm link
é sugerido para esse requisito se você estiver trabalhando em sistemas operacionais com omklink
Vista e os mais recentes.)Ambiente de teste:
fonte
Eu tive um tempo terrível para que módulos globais funcionassem. Eventualmente, adicionei explicitamente
C:\Users\yourusername\AppData\Roaming\npm
à variável PATH em Variáveis do sistema. Eu também precisava que essa variável viesse antes da variável de caminho nodejs na lista.Estou executando o Windows 10.
fonte
Corri para esse problema no Windows 7, executando
como administrador enquanto estiver conectado como um usuário normal.
Solução: Ao executar a mesma instalação que o usuário normal (não "executar como administrador" para o cmd), tudo estava bem. Eu acho que está relacionado ao caminho padrão de instalação e pesquisa.
fonte
Da minha experiência com o win8.1 npm instala os módulos,
C:\Users\[UserName]\AppData\Roaming\npm\node_modules
mas os pesquisa dumplyC:\Users\[UserName]\node_modules
.Um módulo de referência de solução simples no aplicativo por caminho completo:
fonte
Para o Windows, todos disseram que você deveria definir variáveis de ambiente para os módulos nodejs e npm, mas você sabe por quê? Para alguns módulos, eles possuem a ferramenta de linha de comando; após a instalação do módulo, existe o arquivo [module] .cmd em C: \ Arquivos de Programas \ nodejs e é usado para iniciar o comando window. Portanto, se você não adicionar o caminho que contém o arquivo cmd às variáveis de ambiente % PATH% , não será iniciado com êxito pela janela de comando.
fonte
Eu tive o mesmo problema, tentando instalar o bower com
npm install -g bower
Eu acho que isso ocorreu porque o nó foi instalado por outro usuário , não eu.
Desinstalei o nó e reinstalei-o. Durante a instalação, vi este texto para a opção Add to PATH> npm modules :
Mensagem na instalação do nó
Após a instalação do nó, executei
npm install -g bower
novamente. E agora o caramanchão funciona.Claro que não é necessário reinstalar o nó com o próprio usuário, como eu. A solução deve ser via variáveis NODE_PATH ou PATH , como outros usuários explicaram.
Isso é apenas para observar que esse problema ocorre apenas se o nó tiver sido instalado por outro usuário (ou se durante a instalação a opção Adicionar ao PATH> módulos npm não tiver sido marcada).
fonte
Para mim trabalhou no Windows 10
npm config set prefix %AppData%\npm\node_modules
fonte
Como alternativa, você pode adicionar
~/.npmrc
o prefixo correto . Eu tenhoC:\Program Files\nodejs
para 64 Win7.fonte
Eu me deparei com essa pergunta porque quero usar o node.js com o visual studio 2015 no meu novo computador com o Windows 10. Eu usei o node.js no Windows 7 e 8 e 8.1 Nunca foi um problema que o node.js encontrou um módulo. Eu uso o node.js 0.10.39 herdado porque tenho que usar esta versão devido ao módulo serial e RFXCOM.
A resposta para o Windows 10 é definir o NODE_PATH nas variáveis de ambiente com C: \ Users \ User \ node_modules.
fonte
C:\Users\User\node_modules
Vejo alguns módulos emC:\Users\User\AppData\Roaming\npm\node_modules
Vejo alguns módulos emC:\Users\User\node_modules
Também localizado emC:\Program Files (x86)\nodejs\node_modules\npm\node_modules
Não tenho certeza de como isso acontece. Qual é qual e por que eles fizeram dessa maneira?Para o Windows 10, tive que instalar localmente o gulp na pasta:
C: \ Usuários \ minhaacontagem \ AppData \ Roaming \ npm \ node_modules
Isso corrigiu meu problema de "gulp não é reconhecido"
fonte
Basta baixar e reinstalar o nó a partir disso e isso corrigirá todos os problemas de caminho.
Não se esqueça de reiniciar seu prompt de comando ou terminal.
fonte
Todas as respostas acima não funcionaram para mim. A única coisa que funcionou eventualmente foi adicionar o% AppData% \ npm à variável Path do ambiente E excluir os dois arquivos ng em C: \ Arquivos de Programas \ nodejs.
Os pacotes ng não foram instalados em C: \ Arquivos de Programas \ nodejs \ node_modules, portanto, era evidente que o uso do binário ng do diretório nodejs não funcionaria.
Não sei por que ele procurou neste diretório, porque eu já configurei - variável de ambiente PATH - .npmrc em C: \ Users \ MyUser - Tentei adicionar variáveis de sistema e / ou NODE_PATH
fonte
se você estiver usando o Windows, são necessárias algumas etapas, 1) crie um arquivo chamado package.json
onde hello é o nome do pacote e * significa a versão mais recente da sua dependência
2) codifique para o diretório do projeto e execute o seguinte comando
instalação npm
Instala as dependências
fonte