O comando do bower não encontrou janelas

107

Estou tendo grandes problemas ao tentar usar o bower (para instalar a fundação 5) ou obter qualquer coisa relacionada ao trabalho na linha de comando do bower.

Eu instalei

  • rubi 1.9.3
  • git (com opção run from command prompt)
  • Nodejs

Eu corri com sucesso

npm install -g bower grunt-cli
gem install foundation

e estes funcionaram bem. Procurei no npm/node_modulesdiretório e posso ver a bowerpasta lá.

Cada vez que digito bowerno cmd, ruby cmdou git bashrecebo

comando não reconhecido

Eu defini o caminho git nas variáveis ​​de ambiente.

O que é irritante são as instruções no site do caramanchão. Afirma:

npm install -g bower
bower install

Bem, isso não funciona!

disco complicado
fonte
possível duplicata de "comando não encontrado" após a instalação
Sindre Sorhus
Recentemente, escrevi uma postagem no blog sobre como começar a usar o Bower. É super básico e há um repositório github onde você pode verificar o código. Talvez ajude você: thelifelifebalance.com/llb-web-app-series-part-1-bower
cs_stackX
2
Eu também fiquei preso nisso por um tempo. Tudo foi configurado, reiniciado e até mesmo o grunhido funcionou enquanto o Bower não funcionava na minha nova máquina com Windows 8.1. Só depois de ir para a pasta global npm_modules e executar o bower de lá é que ele se tornou 'solto'. Bower então trabalhou na pasta do meu projeto. Reiniciei e o problema ainda estava resolvido ... Resposta estranha, eu sei, mas foi assim que aconteceu comigo.
user1889992

Respostas:

247

Também me deparei com esse problema depois npm install -g bower. Resolvi o problema adicionando a pasta binária do npm ao meu caminho.

Aqui estão algumas dicas úteis para fazer isso:

  1. Encontrar a localização de seus binários globais NPM: npm config get prefix. Este caminho pode ser parecido com C:\Users\username\AppData\Roaming\npm(ou C:\ProgramData\chocolatey\lib\nodejs.commandline.X.XX.XX\toolsse você usar Chocolatey ).
  2. Adicione o caminho da etapa 1 ao seu Caminho.

    • Abra o Painel de Controle do Windows, pesquise environmente clique em edit environment variables for your account, ou Editar as variáveis ​​de ambiente do sistema.

    • Encontre a variável chamada Pathou PATH, ou crie uma se ela não existir.

    • Cole o caminho da etapa 1 aqui ( ;delimitado).

    • Pode ser necessário reiniciar a janela do prompt de comando.

  3. Agora você deve ser capaz de inserir bowercomandos.

Scott Marchant
fonte
1
Para usuários de chocolate: C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.33 \ tools
KimchiMan de
Trabalha para npm 1.3.2e bower 1.7.9.
Animesh Pandey,
No meu caso, 'C: \ Usuários \ nome de usuário \ AppData \ Roaming \ npm' já estava definido em variáveis ​​de ambiente, no entanto, a execução de 'npm config get prefix' revelou que o caminho tinha .ssh nele (C: \ Usuários \ nome de usuário \ .ssh \ AppData \ Roaming \ npm), portanto, sobrescrever isso na variável de ambiente corrigiu o problema.
Monis Iqbal
para / f% a ('npm config get prefix') do setx path% a
Alex
Apenas para notificar os outros, isso funcionou para mim para o mesmo problema que estava enfrentando no Jenkins no Windows também, ao contrário das muitas respostas apontando diagnósticos relacionados ao Jenkins.
Monis Iqbal
19

caso isso ajude.

Eu sou um npm / bower nooB - mas o que aconteceu no meu caso foi que eu estava usando o tutorial JS Angular, que parece ter o bower configurado para ser usado via npm , e NÃO via linha de comando diretamente.

Nota: no meu caso acho que a instalação do meu bower bagunçou. Eu executei isso para consertar a instalação do meu bower:

npm install -gf bower

Então, editei meu arquivo bower.json para adicionar uma nova biblioteca que eu queria usar (no meu caso angular-sanitize)

I CD para a localização do meu projeto

cd myProjectPath

Então, para executar o bower, usei npm install:

npm install

Isso parece executar o bower como um pacote de nó, que por sua vez verifica o bower.json e instala todos os pacotes de bower ausentes.

Para executar o bower como um pacote npm, adicione npmantes do comando bower:

npm bower -v

espero que isto ajude,

Sean

Sean
fonte
1
Como "usar via npm"?
movido a vapor de
hi steampowered - er, para ser honesto, já faz um tempo que eu não escrevi isso. Acho que quis dizer que a maneira 'normal' de executar o bower é a partir da linha de comando: bower, mas no texto acima eu estava usando: npm install
Sean
11

Se as soluções acima não funcionarem. Acho que você deve especificar o caminho absoluto para usar o bower no prompt de comando. Na pasta do meu aplicativo, acabei de ligar

C:\Users\yourusername\AppData\Roaming\npm\bower.cmd install

Este é o conteúdo do meu bower.cmd. Parece que meu windows não consegue reconhecer a variável ~ dp0,

node  "C:\Users\yourusername\AppData\Roaming\npm\node_modules\bower\bin\bower" %*
MuMug
fonte
sim, isso funcionou como uma instalação de caramanchão incrível, mas eu preciso que funcione como uma instalação de caramanchão :(
Dragutescu Alexandru
Recebi uma mensagem sem bower.json presente
hfrog713
2

Isso definitivamente acontecerá se sua variável PATH do Windows tiver um comprimento de símbolo próximo de 1024. Portanto, novos links como "C: \ Usuários \ nome de usuário \ AppData \ Roaming \ npm" simplesmente não cabem nisso.

Verifique seu PATH, remova coisas extras e tente reinstalar node.js e bower etc. Também há uma maneira de aumentar o limite de comprimento de 1024

ártica
fonte
1

Como outros mencionados, temos que adicionar bower às variáveis ​​de ambiente, mas a maneira mais fácil de localizar é simplesmente digitar sua localização npm primeiro, depois usar Browse Filee localizar bower em seu sistema (você também pode procurá-lo na barra de pesquisa), porque o a localização pode variar para diferentes usuários.

amostra no meu fim

AliS
fonte
1

1. Digite windows cmd:

for /f %a ('npm config get prefix') do setx path %a

2. Recarregue o cmd

Alex
fonte
0

O mesmo problema. Resolvi usando outra versão do caramanchão. Funcionou quando tentei usar a versão 1.2.6

$ npm install -g [email protected]

Jayson Cruz
fonte
0

Tive esse problema depois de instalar o Chocolatey 0.9.8.28. Tentei a maioria das soluções listadas aqui, mas não consegui reconhecer 'bower -v' na linha de comando do Powershell. Isso pareceu um pouco estranho, já que a instalação Chocolatey é "tudo sobre" o Powershell. Por fim, consegui definir o caminho para que o Powershell pudesse encontrar as configurações atualizadas da variável PATH, mas precisava de ajuda para entender por que e como fazer isso, que estou fornecendo a seguir:

Depois de falhar com o Powershell inicialmente, fui capaz de ir para uma linha de comando DOS padrão (não usando cmd / c no PowerShell) e executar com sucesso todas as variações de configuração de caminho que são discutidas acima e ter sucesso em ver o bower e os comandos do bower reconhecidos pela linha de comando do DOS. E a janela cmd mostrou o caminho atualizado completo (C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.34 \ tools) - observe que o número da versão pode mudar na listagem do honorável KimchiMan.

Este PATH persistiu até fechar e abrir novas janelas de linha de comando do DOS, mas não foi reconhecido (nunca) em nenhuma janela do Powershell.

Então descobri a seguinte discussão relacionada: Definir configurações de caminho do Powershell.

Isso indica que o Powershell reconhece a versão das configurações de caminho HKLM durante a inicialização. E é possível definir o Caminho OU NA sessão (não persistente) ou no Registro (persistente). O que se segue é diretamente dessa discussão.

Esses comandos podem definir o PATH temporariamente para uma SESSÃO do PowerShell:

$env:Path = 'New path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Process')

Esses comandos podem definir o PATH permanentemente para todas as novas sessões do Powershell:

Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Session Manager\Environment' -Name 'Path' -Value 'New Path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Machine')

Mas eu já mexi com a configuração das configurações do registro de maneira programática antes e não acredito que uma ou duas linhas do script PS sejam suficientes para a tarefa. Então, eu nem tentei essa opção.

Em vez disso, fui ao Painel de controle / console do sistema e alterei o caminho na caixa de diálogo Variáveis ​​de ambiente. Percebi que todo o esforço que fiz para alterar o caminho com set PATH em uma linha de comando do DOS funcionou durante a sessão do Windows, mas a nova entrada do caminho não foi persistida nas Variáveis ​​de Ambiente / Registro, embora a sessão Dos estivesse sendo executada como administrador.

Depois que fiz essa alteração por meio do Painel de Controle, o caminho atualizado para o bower na pasta de ferramentas do Chococlatey (e provavelmente todas as instalações de ferramentas subsequentes) foram definidos permanentemente e o bower estava disponível na linha de comando do DOS e na linha de comando do Powershell.

espero que isto ajude...

Stato Machino
fonte
0

A desinstalação de 64 bits e a instalação da versão de 32 bits do nodejs junto com o git-32 bits funcionou!

gatinho
fonte
0

Tive o mesmo problema. Acabei de executar "npm install -g bower" e visitei o diretório onde foi baixado, no meu caso o local era "C: \ Users \ user \ AppData \ Roaming \ npm \ node_modules \ bower"

Do diretório eu rodei o bower, e tudo funcionando bem, mesmo de outro diretório

Nesar
fonte