Mengatur variabel lingkungan PATH di OSX secara permanen

142

Saya telah membaca beberapa jawaban tentang cara mengatur variabel lingkungan di OSX secara permanen.

Pertama, saya mencoba ini, Bagaimana mengatur $ PATH secara permanen di Linux / Unix? tetapi saya memiliki pesan kesalahan yang mengatakan no such file and directory, jadi saya pikir saya bisa mencoba ~/.bash_profilealih-alih ~/.profiletetapi tidak berhasil.

Kedua, saya menemukan solusi ini Cara mengatur $ PATH seperti yang digunakan oleh aplikasi di os x , yang menyarankan untuk melakukan perubahan

~ / .MacOSX / environment.plist

tapi sekali lagi saya punya no such file and directorykesalahan.

Saya perlu cara untuk mengatur variabel-variabel ini sehingga tidak perlu mengatur mereka lagi dan lagi setiap kali saya membuka sesi terminal baru.

patti_jane
sumber
Anda bisa saja membuat ~ / .profile kebanyakan sistem * nix mengenali file dan menggunakannya jika ada. Anda mungkin perlu reboot
trve.fa7ad
~ / .MacOSX / environment.plist sudah usang.
Pierre ALBARÈDE

Jawaban:

258

Anda harus menambahkannya ke /etc/paths.

Referensi (yang berfungsi untuk saya): Di sini

Nitish
sumber
6
Ini adalah satu-satunya solusi yang berfungsi pada El Capitan. Lebih baik daripada memodifikasi .bash_profiledan .profile.
IgorGanapolsky
1
Terpilihnya jawaban untuk referensi yang ditambahkan yang menjelaskan cara menghapus elemen dari jalur (di komentar) juga.
Amudhan
Ini bekerja di EL Capitan. Tutup semua terminal dan buka terminal baru untuk memeriksa echo $ PATH.
Prem Ananth C
Jawabannya adalah 5 tahun tetapi masih merupakan solusi termudah dan paling sederhana. Terima kasih atas jawabannya + rujukan
Rachit Magon
Jangan lupa untuk 'me-restart' terminal Anda.
Neeraj Singh
27

Saya telah menemukan bahwa ada beberapa file yang dapat mempengaruhi $PATHvariabel di macOS (berfungsi untuk saya, 10.11 El Capitan), tercantum di bawah ini:

  1. Seperti kata jawaban teratas mengatakan vi /etc/paths,, yang direkomendasikan dari sudut pandang saya.

  2. Juga jangan lupa /etc/paths.ddirektori, yang berisi file dapat memengaruhi $PATHvariabel, mengatur gitdan mono-commandpath dalam kasus saya. Anda dapat ls -l /etc/paths.dmembuat daftar item dan rm /etc/paths.d/path_you_dislikemenghapus item.

  3. Jika Anda menggunakan lingkungan "bash" (default Terminal.app, misalnya), Anda harus memeriksa ~/.bash_profileatau ~/.bashrc. Mungkin belum ada file itu, tetapi kedua file ini memiliki efek pada $PATH.

  4. Jika Anda menggunakan "zsh" lingkungan ( Oh-My-Zsh , misalnya), Anda harus memeriksa ~./zshrcbukan ~/.bash*hal.

Dan jangan lupa untuk me-restart semua jendela terminalecho $PATH . The $PATHstring akan PATH_SET_IN_3&4:PATH_SET_IN_1:PATH_SET_IN_2.

Memperhatikan bahwa dua cara pertama ( /etc/pathsdan /etc/path.d) ada di /direktori yang akan memengaruhi semua akun di komputer Anda sementara dua cara terakhir ( ~/.bash*atau ~/.zsh*) ada di ~/direktori (alias, /Users/yourusername/) yang hanya akan memengaruhi pengaturan akun Anda.

Baca selengkapnya: Mac OS X: Set / Ubah Variabel $ PATH - nixCraft

iplus26
sumber
2
Saya cukup suka mengedit .bash_profile dalam beberapa kasus, karena jika Anda memiliki dua akun pengguna di komputer Anda, Anda dapat menambahkan skrip hanya untuk salah satunya di misalnya ~ / dev / skrip
PeteW
apa yang saya tidak sadari adalah bahwa saya menggunakan zsh bukannya bash. Terima kasih!
Lioness
11

Anda juga bisa menambahkan ini

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

untuk ~/.bash_profile, lalu buat di ~/.bashrcmana Anda bisa menambahkan lebih banyak jalur ke PATH. Contoh dengan.

export PATH=$PATH:.
omoman
sumber
Terima kasih. Saya menggunakan solusi sebelumnya, tetapi jika saya menerapkan metode ini, apakah itu berarti saya juga dapat menetapkan variabel DYLD_LIBRARY_PATH sebagai permanen?
patti_jane
Ya, Anda harus bisa. Jika Anda ingin melihat perubahan, tutup terminal Anda dan buka kembali, atau ketik. ~/.bashrc
omoman
Saya menambahkan kode di atas . ~/.bash_profile, kemudian membuka kembali terminal dan ketik . ~/.bashrc, tetapi ia mengatakan tidak ada file atau direktori seperti itu?
patti_jane
Anda harus membuatnya. Baris di atas memberi tahu Anda .bash_profileuntuk memuat .bashrcjika ada. Kemudian di tempat kosong .bashrc, Anda dapat menambahkan apa pun yang Anda inginkan.
omoman
Terima kasih banyak! Saya tahu saya terlalu banyak bertanya, tetapi apakah Anda tahu tautan yang menyatakan cara membuatnya dengan benar .bashrc? Saya tidak dapat menemukan yang bagus.
patti_jane
8

Anda dapat membuka salah satu file berikut:

/etc/profile
~/.bash_profile
~/.bash_login   (if .bash_profile does not exist)
~/.profile      (if .bash_login does not exist)

Dan tambahkan:

export PATH="$PATH:your/new/path/here"
Tiago
sumber
7

Untuk jalur baru yang akan ditambahkan ke variabel lingkungan PATH di MacOS, buat saja file baru di bawah /etc/paths.ddirektori dan tambahkan path tulis yang akan ditetapkan dalam file. Nyalakan kembali terminal. Anda dapat mengecek echo $PATHpada prompt untuk mengonfirmasi apakah jalur telah ditambahkan ke variabel lingkungan.

Misalnya: untuk menambahkan jalur baru /usr/local/sbinke PATHvariabel:

cd /etc/paths.d
sudo vi newfile

Tambahkan path ke newfiledan simpan.

Nyalakan kembali terminal dan ketik echo $PATHuntuk mengonfirmasi

Rishabh Mishra
sumber
Saya tidak yakin mengapa jawaban ini diturunkan. Sepertinya cara yang masuk akal dan waras untuk mengatur variabel path. Saya telah menggunakan paths.d untuk membuat file individual untuk setiap variabel jalur non-standar.
p_q
1

saya mencoba metode pertama dan pergi melalui halaman referensi, pengaturan jalan dieksekusi dengan baik. Tapi itu tidak sepatu set path ketika saya echo $ PATH

IgnitedMind
sumber
1
Apakah Anda menutup terminal dan memulai kembali, atau menelepon sourceuntuk memuat lingkungan baru?
Dom
yaa..mulai kembali terminal..tapi variabel PATH lagi tidak ada
IgnitedMind
Apa yang kamu shell? Periksa dengan ps -p $$. Jika bukan bash, file startup diberi nama berbeda.
Pierre ALBARÈDE
0

Untuk mengatur jalur di Mac, dua metode dapat diikuti.

  1. Membuat file untuk nama variabel dan menempelkan path di bawah /etc/paths.d dan sumber file ke profile_bashrc.
  2. Ekspor variabel jalur ~/.profile_bashrcsebagai

    export VARIABLE_NAME = $ (PATH_VALUE)

DAN sumber jalannya. Sederhana dan stabil.

Anda dapat mengaturnya path variabledengan Mac terminalatau linuxjuga.

Ram Krishna
sumber