Cuando uso Git Bash (en Windows), no puedo ejecutar ningún ejecutable sin especificar su ruta completa, aunque se encuentra en una carpeta que está en mi variable PATH. Parece que bash no lo reconoce. ¿Por qué? ¿Puedo arreglarlo?
Cuando uso Git Bash (en Windows), no puedo ejecutar ningún ejecutable sin especificar su ruta completa, aunque se encuentra en una carpeta que está en mi variable PATH. Parece que bash no lo reconoce. ¿Por qué? ¿Puedo arreglarlo?
Respuestas:
Entendido. Como usuario de Windows, estoy acostumbrado a escribir nombres de ejecutables sin extensiones. En mi caso, quería ejecutar un archivo llamado cup.bat
. En un shell de Windows, cup
basta con escribir . Bash no funciona de esta manera, quiere el nombre completo. Mecanografíacup.bat
resolvió el problema. (Sin embargo, no pude ejecutar el archivo, ya que aparentemente bash no podía entender su contenido)
Una razón más para cambiarse a posh-git ..
Gracias @Tom por indicarme la dirección correcta.
alias cup=cup.bat
.bat
; la extensión implica un script por lotes de Windows, especialmente en una máquina con Windows.
Quizás bash no vea su ruta de Windows. Escribir env|grep PATH
en bash para confirmar qué camino se ve.
Siguiendo el comentario de @ Daniel y gracias a la respuesta de @ Tom, descubrí que Git bash estaba usando PATH pero no las últimas rutas que instalé recientemente. Para solucionar este problema, agregué un archivo en mi directorio de inicio (Windows) llamado:
.bashrc
y el contenido de la siguiente manera:
PATH=$PATH:/c/Go/bin
porque estaba instalando Go y esta ruta contenía el ejecutable go.exe
Now Git bash pudo reconocer el comando:
go
Quizás solo un reinicio del sistema hubiera sido suficiente en mi caso, pero estoy feliz de que esta solución funcione en cualquier caso.
PATH=$PATH:/c/Go/bin:/c/other/path
c:/Users/[myusername]/
ese es mi directorio de inicio
Mientras instalas Git, puedes seleccionar la opción que se muestra a continuación, te ayudará a configurar la ruta automáticamente.
Me ha funcionado :)
Cree un archivo en C: \ Users \ USERNAME que se llama config.bashrc, que contiene:
PATH=$PATH:/c/Program\ Files\ \(x86\)/Application\ with\ space
Ahora mueva el archivo en la línea de comando a la ubicación correcta:
mv config.bashrc .bashrc
Reinicie la computadora después de que haya agregado un nuevo valor a PATH.
Pregunta antigua, pero puede ayudar a otra persona.
He cambiado mi usuario de PATH en todo el mundo, después de eso, simplemente me desconecto y vuelvo a iniciar sesión.
¡Eso es! git bash
cargó correctamente el nuevo valor PATH.
export PATH=$NEW_PATH:$PATH
. Y hacer las cosas normalmente
Puedo confirmar que al reiniciar el sistema se asegurará de que git recoja el PATH establecido en la variable de entorno en Windows y no haya otra forma automática.
Parece que la causa raíz aquí es que Git Bash no siempre puede analizar correctamente la variable% USERPROFILE%. En lugar de hacerlo relativo a C: \ Users \\, obtiene el valor C: \ Windows \ System 32 \ systemprofile \ Después de cambiar esto a una dirección completamente calificada, funciona, e incluso si lo configuro de nuevo después, Git Bash todavía tiene la RUTA correcta por alguna razón.
En caso de que tu git-bash
's PATH
presentes pero no última y que no quiere un reinicio, pero regenerar sus PATH
s, puede intentar cerrar todos cmd.exe
, powershell.exe
y git-bash.exe
y volver a abrir una ventana cmd.exe desde el menú Inicio o de escritorio y ver si el PATH
se actualiza env . Si cambió en todo el sistema, PATH
también debe abrir una ventana de cmd privilegiada.
Nota: esto no funciona con todas las versiones de Windows y abre cmd.exe
cualquier lugar que no sea el menú Inicio o el escritorio puede no funcionar , probado con mis 3 computadoras y 2 de ellas funcionan. No descubrí por qué funciona esto, pero dado que la PATH
variable de entorno se genera automáticamente cuando inicio y cierre la sesión, no arruinaría esa variable con la concatenación de variables.
Me encuentro con este problema cuando trato de usar mingw para compilar la biblioteca xgboost en Win10. Finalmente encontré la solución.
Cree un archivo llamado .bashrc en su directorio de inicio (generalmente C: \ Users \ username). Luego agregue la ruta. Recuerde usar comillas si su ruta contiene espacios en blanco y recuerde usar / c / en lugar de C: /
Por ejemplo:
RUTA = $ RUTA: "/ c / Archivos de programa / mingw-w64 / x86_64-7.2.0-posix-seh-rt_v5-rev1 / mingw64 / bin"
Me he encontrado con un estúpido error de mi parte. Tenía un sistema amplio y una ruta variable de usuario establecida para mi espacio de trabajo golang en mi máquina con Windows 10. Cuando eliminé la vía de la variable de sistemas redundantes y me desconecté y volví a conectar, pude llamar a archivos .exe en bash y llamar a go env con éxito.
Aunque se ha respondido a OP, este es otro problema que podría evitar que bash vea sus caminos. Acabo de probar bash nuevamente con este problema y parece dar un conflicto de algún tipo que bloquea a bash para que no siga cualquiera de los caminos.
Sé que es una pregunta antigua, pero hay dos tipos de variables de entorno. El que es propiedad del Usuario y el de todo el sistema. Dependiendo de cómo abra git bash (con privilegios de usuario o con privilegios de administrador), la variable de entorno PATH utilizada puede ser de sus variables de usuario o de las variables del sistema. Vea abajo:
como se dijo en una respuesta anterior, verifique con el comando env|grep PATH
para ver cuál está usando y actualice su variable en consecuencia. Por cierto, no es necesario reiniciar el sistema. Solo cierra y vuelve a abrir el git bash
En mi caso, sucedió mientras instalaba heroku cli y git bash, esto es lo que hice para trabajar.
llegué a esta ubicación
C:\Users\<username here>\AppData\Local
y eliminar el archivo en mi carpeta heroku caso. Así que eliminé la carpeta y ejecuté cmd. Está funcionando
No escape caracteres especiales (\) al editar / agregar a su variable $ PATH. Por ejemplo, un directorio de aplicaciones en archivos de programa se vería así:
PATH=$PATH:/c/Program Files (x86)/random/application
No hagas esto:
PATH=$PATH:/c/Program\ Files\ \\(x86\\)/random/application/
Espero que esto ayude.
PATH=$PATH:/c/Program Files (x86)/random/application
... esta no es la sintaxis bash correcta para configurar el PATH. Esto agregará temporalmente el directorio /c/Program
a la ruta, luego intentará ejecutar el programa Files
con argumentos (x86)/random/application
. El único problema con el ejemplo de "no hacer esto" es que tiene barras invertidas duplicadas para los corchetes, cuando las barras invertidas simples son correctas.
Para aquellos de ustedes que han probado todos los métodos mencionados anteriormente, incluido el sistema env de Windows. variables, .bashrc, .bashprofile, etc. Y puedo ver la ruta correcta en 'echo $ PATH' ... Puedo tener una solución para usted.
suprima los errores usando exec 2> / dev / null
Mi script funciona bien pero arrojaba errores de 'comando no encontrado' o 'No se encontró directorio' a pesar de que, por lo que puedo decir, las rutas estaban al ras. Entonces, si suprime esos errores (es posible que tenga que agregar también 'set + e'), entonces funciona correctamente.
Cree una variable de usuario llamada Ruta y agregue como valor% Path%, por lo que noté que Git Bash solo ve Variables de usuario y no Variables de sistema. Al realizar el procedimiento mencionado, expondrá su Variable de sistema en las Variables de usuario.
En las variables de entorno de ruta de Windows 7, solo agrego al final de la ruta de la variable del sistema
\; C: \ Archivos de programa \ Git \ bin
¡y funciona ahora!