comando bower no encontrado windows

107

Estoy teniendo grandes problemas al intentar usar bower (para instalar la base 5) u obtener cualquier cosa relacionada con bower para trabajar en la línea de comandos.

He instalado

  • rubí 1.9.3
  • git (con la opción ejecutar desde el símbolo del sistema)
  • Nodejs

He corrido con éxito

npm install -g bower grunt-cli
gem install foundation

y estos han funcionado bien. Miré en el npm/node_modulesdirectorio y puedo ver la bowercarpeta allí.

Cada vez que bowerescribo en el cmd, ruby cmdo git bashobtengo

comando no reconocido

Establecí la ruta de git en las variables de entorno.

Lo que es molesto son las instrucciones en el sitio de Bower. Afirma:

npm install -g bower
bower install

¡Bueno, esto no funciona!

truco
fuente
posible duplicado de "comando no encontrado" después de la instalación
Sindre Sorhus
Recientemente escribí una publicación de blog sobre cómo comenzar con Bower. Es súper básico y hay un repositorio de github donde puedes consultar el código. Quizás te ayude: thelifelifebalance.com/llb-web-app-series-part-1-bower
cs_stackX
2
Yo también estuve atrapado en esto por un tiempo. Todo estaba configurado, reiniciado e incluso gruñido funcionó mientras que bower no funcionaba en mi nueva máquina con Windows 8.1. No fue hasta que entré en la carpeta global npm_modules y ejecuté bower desde allí que se convirtió en 'despegar'. Bower luego trabajó desde la carpeta de mi proyecto. Reinicié y el problema aún se resolvió ... Respuesta extraña, lo sé, pero así es como sucedió para mí.
user1889992

Respuestas:

247

También me encontré con este problema después npm install -g bower. Resolví el problema agregando la carpeta binaria de npm a mi ruta.

A continuación, se muestran algunos consejos útiles para hacerlo:

  1. Encontrar la ubicación de los binarios globales NGP: npm config get prefix. Esta ruta puede parecerse a C:\Users\username\AppData\Roaming\npm(o C:\ProgramData\chocolatey\lib\nodejs.commandline.X.XX.XX\toolssi usa Chocolatey ).
  2. Agregue la ruta del paso 1 a su Ruta.

    • Abra el Panel de control de Windows, busque environmenty luego haga clic en edit environment variables for your account, o Editar las variables de entorno del sistema.

    • Busque la variable denominada Patho PATH, o cree una si no existe.

    • Pegue aquí la ruta del paso 1 ( ;delimitada).

    • Es posible que deba reiniciar la ventana del símbolo del sistema.

  3. Ahora debería poder ingresar bowercomandos.

Scott Marchant
fuente
1
Para usuarios de chocolate: C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.33 \ tools
KimchiMan
Funciona para npm 1.3.2y bower 1.7.9.
Animesh Pandey
En mi caso, 'C: \ Users \ username \ AppData \ Roaming \ npm' ya estaba configurado en las variables del entorno, sin embargo, ejecutar 'npm config get prefix' reveló que la ruta tenía .ssh (C: \ Users \ username \ .ssh \ AppData \ Roaming \ npm) por lo tanto, sobrescribir esto en la variable de entorno solucionó el problema.
Monis Iqbal
para / f% a ('npm config get prefix') hacer setx path% a
Alex
Solo para notificar a otros, esto funcionó para mí para el mismo problema que enfrentaba en Jenkins sobre Windows también, a diferencia de las muchas respuestas que apuntan a los diagnósticos relacionados con Jenkins.
Monis Iqbal
19

en caso de que esto ayude.

Soy un novato de npm / bower, pero lo que sucedió en mi caso fue que estaba usando el tutorial de Angular JS, que parece tener bower configurado para usarse a través de npm , y NO a través de la línea de comando directamente.

Nota: en mi caso, creo que mi instalación de bower se estropeó. Ejecuté esto para arreglar mi instalación de bower:

npm install -gf bower

Luego edité mi archivo bower.json para agregar una nueva biblioteca que quería usar (en mi caso, angular-sanitize)

CD a la ubicación de mi proyecto

cd myProjectPath

Luego, para ejecutar bower, de hecho usé npm install:

npm install

Esto parece ejecutar bower como un paquete de nodo, que a su vez escanea bower.json e instala cualquier paquete de bower que falte.

Para ejecutar bower como un paquete npm, agregue npmantes del comando bower :

npm bower -v

espero que esto ayude,

Sean

Sean
fuente
1
¿Cómo se "usa a través de npm"?
vapor
hola steampowered - er para ser honesto, ha pasado un tiempo desde que escribí esto. Creo que quise decir que la forma 'normal' de ejecutar bower es desde la línea de comando: bower, pero en el texto anterior estaba usando: npm install
Sean
11

Si las soluciones anteriores no funcionan. Creo que debería especificar la ruta absoluta para usar el bower en el símbolo del sistema. En la carpeta de mi aplicación, solo llamo

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

Esto está contenido en mi bower.cmd. Parece que mi Windows no puede reconocer la variable ~ dp0,

node  "C:\Users\yourusername\AppData\Roaming\npm\node_modules\bower\bin\bower" %*
MuMug
fuente
sí, eso funcionó como una instalación de bower increíble, pero necesito que funcione como instalación de
bower
Recibí un mensaje sin bower.json presente
hfrog713
2

Esto definitivamente sucederá si su variable PATH de Windows tiene una longitud cercana a los 1024 símbolos. Así que los enlaces nuevos como "C: \ Users \ username \ AppData \ Roaming \ npm" simplemente no encajarán en eso.

Verifique su RUTA, elimine cosas adicionales e intente reinstalar node.js y bower, etc. También hay una manera de aumentar el límite de 1024 longitudes

arctica
fuente
1

Como otros mencionaron, debe agregar bower en las variables de entorno, pero la forma más fácil de localizar es simplemente escribir su ubicación npm primero, luego usar Browse Filey ubicar bower en su sistema (también puede buscarlo en la barra de búsqueda), porque el la ubicación puede variar para diferentes usuarios.

muestra en mi final

AliS
fuente
1

1. Escriba Windows cmd:

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

2. Vuelva a cargar cmd

Alex
fuente
0

Mismo problema. Lo resolví usando otra versión de bower. Funciona cuando intenté usar la versión 1.2.6

$ npm install -g [email protected]

Jayson Cruz
fuente
0

Tuve este problema después de instalar Chocolatey 0.9.8.28. Probé la mayoría de las soluciones enumeradas aquí, pero no pude hacer que 'bower -v' se reconociera en la línea de comandos de Powershell. Esto parecía un poco extraño ya que la instalación de Chocolatey tiene que ver con Powershell. Finalmente pude tener éxito estableciendo la ruta para que Powershell pudiera encontrar la configuración de la variable PATH actualizada, pero necesitaba ayuda para comprender por qué y cómo hacerlo, lo que proporciono a continuación:

Después de fallar con Powershell inicialmente, pude ir a una línea de comandos estándar de DOS (no usando cmd / c en powershell) y realizar con éxito todas las variaciones de la configuración de ruta que se discutieron anteriormente y tener éxito al ver bower y los comandos de bower reconocidos por la línea de comando de DOS. Y la ventana de cmd mostró la ruta completa y actualizada (C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.34 \ tools) - observe que el número de versión puede cambiar de la lista del honorable KimchiMan.

Este PATH persistió al cerrar y abrir nuevas ventanas de línea de comandos de DOS, pero no fue reconocido (nunca) en ninguna ventana de Powershell.

Luego descubrí la siguiente discusión relacionada: Establecer la configuración de la ruta de Powershell.

Esto señala que Powershell reconoce la versión de configuración de ruta de HKLM cuando se inicia. Y es posible establecer la ruta, ya sea en la sesión (no persistente) o en el registro (persistente). Lo siguiente es directamente de esa discusión.

Estos comandos pueden establecer la RUTA temporalmente para una SESIÓN de PowerShell:

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

Estos comandos pueden establecer la RUTA de forma permanente para todas las nuevas sesiones de Powershell:

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

Pero me he metido con la configuración del registro mediante programación antes y no creo que una o dos líneas de script PS estén a la altura de la tarea. Así que ni siquiera probé esta opción.

En su lugar, fui al Panel de control / consola del sistema y cambié la ruta a través del cuadro de diálogo Variables de entorno. Me di cuenta de que todo el esfuerzo que había hecho para cambiar la ruta con set PATH en una línea de comandos de DOS había funcionado durante la sesión de Windows, pero la nueva entrada de ruta no se había conservado en las Variables de entorno / Registro a pesar de que la sesión Dos se estaba ejecutando como administrador.

Después de realizar este cambio a través del Panel de control, la ruta actualizada para bower en la carpeta de herramientas de Chococlatey (y presumiblemente todas las instalaciones de herramientas posteriores) se establecieron permanentemente y bower estaba disponible tanto en la línea de comandos de DOS como en la línea de comandos de Powershell.

espero que esto ayude...

Stato Machino
fuente
0

¡La desinstalación de 64 bits y la instalación de la versión de 32 bits de nodejs junto con git- 32bit funcionó!

Kittu
fuente
0

Tuve el mismo problema. Acabo de ejecutar "npm install -g bower" y luego visité el directorio donde se descargó, en mi caso la ubicación era "C: \ Users \ user \ AppData \ Roaming \ npm \ node_modules \ bower"

Desde el directorio ejecuté bower, y todo funcionaba bien, incluso desde otro directorio

Nesar
fuente