Ketika saya menggunakan Git Bash (di Windows), saya tidak dapat menjalankan apa pun yang dapat dieksekusi tanpa menentukan jalur lengkapnya, meskipun itu terletak di folder yang ada di variabel PATH saya. Sepertinya bash tidak mengenalinya. Mengapa? Bisakah saya memperbaikinya?
107
Jawaban:
Mengerti. Sebagai pengguna Windows, saya terbiasa mengetik nama yang dapat dieksekusi tanpa ekstensi. Dalam kasus saya, saya ingin menjalankan file bernama
cup.bat
. Di shell Windows, mengetikcup
sudah cukup. Bash tidak berfungsi seperti ini, ia menginginkan nama lengkapnya. Mengetikcup.bat
memecahkan masalah. (Saya tidak dapat menjalankan file tersebut, karena tampaknya bash tidak dapat memahami isinya)Satu lagi alasan untuk beralih ke posh-git ..
Terima kasih @Tom karena telah mengarahkan saya ke arah yang benar.
sumber
alias cup=cup.bat
.bat
; ekstensi menyiratkan skrip batch Windows - terutama pada mesin Windows.Mungkin bash tidak melihat jalur Windows Anda. Ketik
env|grep PATH
bash untuk mengonfirmasi jalur yang dilihatnya.sumber
Mengikuti komentar @ Daniel dan terima kasih atas jawaban @ Tom, saya menemukan bahwa Git bash memang menggunakan PATH tetapi bukan jalur terbaru yang saya pasang baru-baru ini. Untuk mengatasi masalah ini, saya menambahkan file di direktori home (windows) saya bernama:
.bashrc
dan isinya sebagai berikut:
PATH=$PATH:/c/Go/bin
karena saya menginstal Go dan jalur ini berisi
go.exe
bash Sekarang Git yang dapat dieksekusi dapat mengenali perintah:go
Mungkin hanya reboot sistem sudah cukup dalam kasus saya, tetapi saya senang solusi ini berfungsi dalam hal apa pun.
sumber
PATH=$PATH:/c/Go/bin:/c/other/path
c:/Users/[myusername]/
itu direktori home sayaSaat Anda menginstal Git, Anda dapat memilih opsi yang ditunjukkan di bawah ini, ini akan membantu Anda mengatur jalur secara otomatis.
Ini berhasil untuk saya :)
sumber
Buat file di C: \ Users \ USERNAME yang disebut config.bashrc, berisi:
Sekarang pindahkan file pada baris perintah ke lokasi yang benar:
sumber
Restart komputer setelah menambahkan nilai baru ke PATH.
sumber
Pertanyaan lama tapi bisa membantu orang lain.
Saya telah mengubah lebar pengguna PATH saya, setelah itu saya baru saja logoff dan login lagi.
Hanya itu saja!
git bash
memuat nilai PATH baru dengan benar.sumber
export PATH=$NEW_PATH:$PATH
. Dan lakukan hal-hal secara normalSaya dapat mengonfirmasi bahwa memulai ulang sistem akan memastikan bahwa PATH yang diatur dalam variabel lingkungan di windows diambil oleh git dan tidak ada cara otomatis lainnya.
sumber
Tampaknya penyebab utama di sini adalah Git Bash tidak selalu dapat mengurai variabel% USERPROFILE% dengan benar. Alih-alih membuatnya relatif ke C: \ Users \\ itu mendapat nilai C: \ Windows \ System 32 \ systemprofile \ Setelah mengubah ini ke alamat yang memenuhi syarat, itu Bekerja, dan bahkan jika saya mengaturnya kembali setelah itu, Git Bash masih memiliki PATH yang benar untuk beberapa alasan.
sumber
Di Windows 10, cukup hapus instalan git dan instal lagi. Ini akan mengatur variabel lingkungan secara otomatis untuk Anda. Saya telah menghapus variabel lingkungan secara tidak sengaja dan saya tidak dapat menggunakan git di dalam IDE saya. Menginstal ulang git memperbaiki masalah ini.
sumber
Dalam kasus Anda
git-bash
'sPATH
hadiah tetapi tidak terbaru dan Anda tidak ingin reboot tapi regenerasi AndaPATH
s, Anda dapat mencoba menutup semuacmd.exe
,powershell.exe
, dangit-bash.exe
dan membuka kembali satu jendela cmd.exe dari Start Menu atau Desktop dan melihat apakahPATH
env diperbarui . Jika Anda mengubah seluruh sistem,PATH
Anda juga perlu membuka satu jendela cmd dengan hak istimewa.Catatan: Ini tidak berfungsi dengan semua versi Windows, dan terbuka di
cmd.exe
mana saja selain Start Menu atau Desktop mungkin tidak berfungsi , diuji dengan 3 komputer saya dan 2 di antaranya berfungsi. Saya tidak tahu mengapa ini berfungsi, tetapi karenaPATH
variabel lingkungan dihasilkan secara otomatis ketika saya masuk dan keluar, saya tidak akan mengacaukan variabel itu dengan penggabungan variabel.sumber
Bagi saya yang paling nyaman adalah: 1) Buat direktori "bin" di root C: drive 2) Tambahkan "C: / bin;" ke PATH di "Komputer Saya -> Properti -> Variabel Lingkungan"
sumber
Saya menemui masalah ini ketika saya mencoba menggunakan mingw untuk mengkompilasi xgboost lib di Win10. Akhirnya saya menemukan solusinya.
Buat file bernama .bashrc di direktori home Anda (biasanya C: \ Users \ username). Kemudian tambahkan jalur ke sana. Ingatlah untuk menggunakan tanda kutip jika jalur Anda kosong, dan ingat untuk menggunakan / c / alih-alih C: /
Sebagai contoh:
PATH = $ PATH: "/ c / Program Files / mingw-w64 / x86_64-7.2.0-posix-seh-rt_v5-rev1 / mingw64 / bin"
sumber
Saya telah mengalami kesalahan bodoh di pihak saya. Saya memiliki sistem yang luas dan jalur variabel pengguna yang ditetapkan untuk ruang kerja golang saya di mesin windows 10 saya. Ketika saya menghapus jalur variabel sistem yang redundan dan keluar dan masuk kembali, saya dapat memanggil file .exe di bash dan memanggil go env dengan sukses.
Meskipun OP telah dijawab, ini adalah masalah lain yang dapat membuat bash tidak melihat jalur Anda. Saya baru saja menguji bash lagi dengan masalah ini dan tampaknya memberikan konflik semacam yang menghalangi bash mengikuti salah satu jalur.
sumber
Saya tahu ini adalah pertanyaan lama tetapi ada dua jenis variabel lingkungan. Yang dimiliki oleh Pengguna dan satu sistem yang luas. Bergantung bagaimana Anda membuka git bash (dengan hak istimewa pengguna atau dengan hak istimewa administrator) variabel lingkungan PATH yang digunakan dapat berasal dari Anda variabel Pengguna atau dari variabel Sistem. Lihat di bawah:
seperti yang dikatakan dalam jawaban sebelumnya, periksa dengan perintah
env|grep PATH
untuk melihat mana yang Anda gunakan dan perbarui variabel Anda sesuai. BTW, tidak perlu reboot sistem. Tutup saja dan buka kembali git bashsumber
Dalam kasus saya Itu terjadi saat menginstal heroku cli dan git bash, Inilah yang saya lakukan untuk bekerja.
sampai di lokasi ini
C:\Users\<username here>\AppData\Local
dan hapus file dalam kasus saya folder heroku. Jadi saya menghapus folder dan menjalankan cmd. Ini bekerja
sumber
Jangan lepas (\) karakter khusus saat mengedit / menambahkan variabel $ PATH Anda. Misalnya, direktori aplikasi dalam file program akan terlihat seperti ini:
PATH=$PATH:/c/Program Files (x86)/random/application
Jangan lakukan ini:
PATH=$PATH:/c/Program\ Files\ \\(x86\\)/random/application/
Semoga ini membantu.
sumber
PATH=$PATH:/c/Program Files (x86)/random/application
... ini bukan sintaks bash yang benar untuk menyetel PATH. Ini sementara akan menambahkan direktori/c/Program
ke jalur, kemudian mencoba menjalankan programFiles
dengan argumen(x86)/random/application
. Satu-satunya hal yang salah dengan contoh "jangan lakukan ini" adalah bahwa ia telah menggandakan garis miring terbalik untuk tanda kurung, ketika satu garis miring terbalik benar.Bagi Anda yang telah mencoba semua metode yang disebutkan di atas termasuk sistem Windows env. variabel, .bashrc, .bashprofile, dll. DAN dapat melihat jalur yang benar di 'echo $ PATH' ... Saya mungkin punya solusi untuk Anda.
tekan kesalahan menggunakan exec 2> / dev / null
Skrip saya berjalan dengan baik tetapi menampilkan kesalahan 'command not found' atau 'No directory found' meskipun, sejauh yang saya tahu, jalurnya rata. Jadi, jika Anda menekan kesalahan tersebut (mungkin juga harus menambahkan 'set + e'), daripada berfungsi dengan baik.
sumber
Buat variabel Pengguna bernama Path dan tambahkan sebagai nilai% Path%, dari apa yang saya perhatikan Git Bash hanya melihat Variabel Pengguna dan bukan Variabel Sistem. Dengan melakukan prosedur yang disebutkan, Anda akan mengekspos Variabel Sistem Anda di Variabel Pengguna.
sumber
Dalam Variabel Lingkungan Jalur Windows 7 saya hanya menambahkan di akhir jalur Variabel Sistem
\; C: \ Program Files \ Git \ bin
dan berhasil sekarang!
sumber