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?
107
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.
fuente
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.fuente
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.
fuente
PATH=$PATH:/c/Go/bin:/c/other/path
c:/Users/[myusername]/
ese es mi directorio de inicioMientras instalas Git, puedes seleccionar la opción que se muestra a continuación, te ayudará a configurar la ruta automáticamente.
Me ha funcionado :)
fuente
Cree un archivo en C: \ Users \ USERNAME que se llama config.bashrc, que contiene:
Ahora mueva el archivo en la línea de comando a la ubicación correcta:
fuente
Reinicie la computadora después de que haya agregado un nuevo valor a PATH.
fuente
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.fuente
export PATH=$NEW_PATH:$PATH
. Y hacer las cosas normalmentePuedo 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.
fuente
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.
fuente
En Windows 10, simplemente desinstale git e instálelo nuevamente. Establecerá la variable de entorno automáticamente. Eliminé la variable de entorno por error y no pude usar git dentro de mi IDE. La reinstalación de git solucionó este problema.
fuente
En caso de que tu
git-bash
'sPATH
presentes pero no última y que no quiere un reinicio, pero regenerar susPATH
s, puede intentar cerrar todoscmd.exe
,powershell.exe
ygit-bash.exe
y volver a abrir una ventana cmd.exe desde el menú Inicio o de escritorio y ver si elPATH
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 laPATH
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.fuente
Para mí lo más conveniente fue: 1) Crear el directorio "bin" en la raíz de la unidad C: 2) Agregar "C: / bin;" a PATH en "Mi PC -> Propiedades -> Variables ambientales"
fuente
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"
fuente
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.
fuente
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 bashfuente
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
fuente
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.
fuente
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 programaFiles
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.
fuente
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.
fuente
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!
fuente