Bagaimana cara memodifikasi PATH untuk Homebrew?


150

Mencoba menginstal ruby ​​1.9.3, baca bahwa saya harus menginstal homebrew terlebih dahulu. Ran buat dokter, dan itu memberiku banyak peringatan. Salah satunya adalah:

Peringatan: / usr / bin muncul sebelum / usr / local / bin Ini berarti bahwa program yang disediakan sistem akan digunakan alih-alih yang disediakan oleh Homebrew. Alat berikut ada di kedua jalur:

easy_install
easy_install-2.6

Pertimbangkan untuk mengubah PATH Anda sehingga / usr / local / bin berada di depan / usr / bin di PATH Anda.

Bagaimana seseorang melakukan apa yang diminta di sini?


1
@AristotlePagaltzis 's jawaban pada SuperUser memberikan solusi terbaik menurut pendapat saya, yang memungkinkan aplikasi sistem Anda untuk terus menggunakan /usr/bin, sementara Anda selektif symlink executable Homebrew bahwa Anda ingin menggunakan bukan versi Apple dikirimkan, seperti Git.

@mrdavidjcole: fengd tidak menjawab pertanyaan itu?
fotinsky

Stack Overflow adalah situs untuk pertanyaan pemrograman dan pengembangan. Pertanyaan ini tampaknya di luar topik karena ini bukan tentang pemrograman atau pengembangan. Lihat Topik apa yang bisa saya tanyakan di sini di Pusat Bantuan. Mungkin Super User atau Apple Stack Exchange akan menjadi tempat yang lebih baik untuk bertanya. Lihat juga Di mana saya mengirim pertanyaan tentang Dev Ops? .
jww

Jawaban:


299

buka file / etc / paths Anda, letakkan / usr / local / bin di atas / usr / bin

$ sudo vi /etc/paths
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin

dan Restart terminal , @mmel


9
Muat ulang lingkungan atau mulai terminal baru setelah melakukan perubahan ini.
mmell

4
Tidak setuju dengan ini - harus menggunakan jawaban di bawah - mesin waktu dll tidak akan mengambil perubahan ini saya pikir sebagai folder pengguna di luar.
Ian Warner

Ini juga merupakan solusi terbaik yang saya temukan jika masalah Anda adalah RVM dan Homebrew keduanya tampaknya bersaing untuk mendapatkan real estat yang sama dalam file .bash_profile Anda.
MCB

Saya TIDAK akan mengedit / etc / paths; sebagai gantinya, gunakan metode .profile / .bash_profile yang dijelaskan di tempat lain (misalnya, jawaban oleh @avelis di bawah atau untuk pendekatan yang lebih paranoid, lihat komentar pertama yang merujuk pada jawaban AristotelesPagaltzis pada
Pengguna Super

1
Anda mungkin ingin mencoba menggunakan editor teks terminal nano alih-alih via. Saya menemukan ini lebih mudah digunakan. "sudo nano / etc / paths" bukan "sudo vi / etc / paths".
tbradley22

78

Ada banyak cara untuk memperbarui jalur Anda. Jawaban Jun1st bekerja dengan sangat baik. Metode lain adalah menambah Anda .bash_profileuntuk memiliki:

export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

Garis di atas menempatkan /usr/local/bindan /usr/local/sbindi depan Anda $PATH. Setelah Anda sumber Anda .bash_profileatau memulai terminal baru Anda dapat memverifikasi jalan Anda dengan gema 'ing itu.

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/Users/<your account>/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Setelah puas dengan hasil yang berjalan $ brew doctorlagi seharusnya tidak lagi menghasilkan kesalahan Anda.

Posting blog ini membantu saya menyelesaikan masalah yang saya hadapi. http://moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/


2
@ JanuszChudzynski Untuk solusi Jun1st, mungkin Anda harus memulai kembali sesi baris perintah untuk melihat perubahannya.
avelis

Versi terbaru dari homebrew day: Pertimbangkan pengaturan PATH Anda sehingga / usr / local / bin terjadi sebelum / usr / bin. Berikut ini adalah satu-kapal:echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile . Yang pada dasarnya adalah apa yang disarankan jawaban ini.
nacho4d

Namun saya ragu itu adalah cara yang benar. Lihat di bawah: Sebelum perubahan: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/binubah: echo export PATH="/usr/local/bin:$PATH >> ~/.bash_profileSetelah perubahan: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin Ini berarti bahwa jika suatu perintah tidak ditemukan di / usr / local / bin, ia mungkin dicari dua kali sebelum ditemukan di jalur lain. Saya pikir lebih baik mengubah /etc/pathsfile
nacho4d

$ echo 'export PATH = "/ usr / local / bin: $ PATH"' >> ~ / .bash_profile memberi saya $ PATH "'>> ~ / .bash_profile -bash: $: perintah tidak ditemukan
Mamba

@ rpeg Saya yakin jika Anda mencari di web tutorial ada banyak sumber daya, tapi di sini ada satu yang saya tahu. linux.com/learn/tutorials/272346-bash-101-working-at-the-cli
avelis

20

Jalankan saja baris berikut di aplikasi terminal favorit Anda:

echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile

Nyalakan kembali terminal Anda dan jalankan

brew doctor

masalah ini harus diselesaikan


3
Jika Anda menggunakan zsh gunakan perintah ini echo 'export PATH = "/ usr / local / sbin: $ PATH"' >> ~ / .zshrc
kareem

1

buka profil bash di textEdit

buka -e .bash_profile

Edit file atau rekatkan di depan ekspor PATH PATH = / usr / bin: / usr / sbin: / bin: / sbin: / usr / local / bin: / usr / local / sbin: ~ / bin

simpan & tutup file

* Untuk membuka .bash_profile langsung buka textEdit> file> baru-baru ini


0

Untuk menghindari duplikasi yang tidak perlu, saya menambahkan yang berikut ke ~ / .bash_profile saya

case ":$PATH:" in
  *:/usr/local/bin:*) ;;     # do nothing if $PATH already contains /usr/local/bin
  *) PATH=/usr/local/bin:$PATH ;;  # in every other case, add it to the front
esac

Kredit: https://superuser.com/a/580611

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.