Bagaimana cara mengatur variabel lingkungan pada OS X?

70

Saya selalu kesulitan mengatur variabel Lingkungan di OS X seperti JAVA_HOME, M2_HOMEatau PATH. Bagaimana cara mengatur ini di OS X Mavericks?

Saya melakukan riset tetapi jawaban yang saya temukan belum benar-benar membantu saya:

  1. export JAVA_HOME=/... (Tapi sepertinya perubahan itu bersifat sementara, hanya untuk satu sesi terminal.)
  2. setenv JAVA_HOME=/... (Tetapi perintah tidak ditemukan.)
  3. Buka .profiledan tulis variabel di dalamnya untuk membuat perubahan permanen- ( .profiletidak ada).
  4. Buka .bash_profiledan tulis variabel di dalamnya untuk membuat perubahan permanen- ( .bash_profiletidak ada).
  5. vi ~/.bash_profile(Cukup tantangan bagi seseorang yang tidak tahu vi.)
  6. Membuat enrivonment.plistfile Anda sendiri .

Dapatkah seseorang tolong tunjukkan saya langkah-langkah untuk membuatnya bekerja di OS X Mavericks, dengan asumsi tidak ada Unix yang tahu?

akcasoy
sumber
1
Unix (dan OS lainnya) mungkin sulit bagi pengguna baru sehingga saya dapat memahami frustrasi Anda. Namun demikian, pertanyaan yang ditulis agak luas dan tidak akan memberikan jawaban yang Anda cari. Bisakah Anda menulis ulang untuk fokus pada masalah yang sebenarnya Anda alami (seperti "Bagaimana cara mengatur JAVA_HOME dan PATH pada Mavericks") yang akan memastikan bahwa Anda mendapatkan jawaban yang baik yang dapat Anda bangun?
nohillside
Seperti yang saya lihat, Stuffe sudah mengedit pertanyaan saya. Terima kasih. Pertanyaan saya seperti judulnya, cara mengatur JAVA_HOME dan PATH pada Mavericks.
akcasoy
@ patrix: Lain kali, saya akan menjelaskan masalah saya atau apa yang ingin saya tanyakan, dan Anda akan menulis PERTANYAAN SAYA DENGAN KATA-KATA ANDA. BAIK? Tampaknya Anda moderator sangat puas dengan melakukan ini.
akcasoy

Jawaban:

45

Saya memiliki. Profil di direktori home saya; ini berisi banyak export …pernyataan untuk variabel lingkungan.

Anda dapat membuat file seperti itu dengan membuka Terminal dan mengeluarkan perintah touch .profile Tutup Terminal.

Maka Anda harus membuka file itu dalam editor teks biasa (TextWrangler misalnya). Anda juga dapat menggunakan nano .profiledi jendela Terminal (direktori saat ini harus menjadi rumah Anda), yang jauh lebih mudah daripada vi. Masukkan garis seperti export JAVA_HOME=…. Simpan, keluar nanojika Anda menggunakannya dan keluar dari Terminal yang sedang berjalan.

Buka Terminal dan berikan perintah envuntuk melihat semua variabel lingkungan. Periksa bahwa yang Anda tetapkan memiliki nilai yang Anda tetapkan untuk mereka. Anda harus baik pergi sekarang. Tetapi jangan lupa bahwa variabel lingkungan yang didefinisikan dalam .profiletidak diteruskan ke aplikasi GUI.

Bhas
sumber
Terima kasih banyak. Ini yang benar-benar saya cari. Saya sekarang telah menetapkan semua variabel saya. Apa yang Anda maksud dengan aplikasi GUI? Saya hanya perlu beberapa variabel untuk java dan maven agar dapat bekerja dengan eclipse, spring tools dll. Eclipse adalah aplikasi dengan GUI (Graphical User Interface). Apakah maksud Anda dengan GUI?
akcasoy
Baik. Saya telah membaca beberapa dan saya pikir Anda benar-benar bermaksud GUI dengan GUI .. Apakah ada cara untuk membuat variabel-variabel ini tersedia di mana-mana? Apa cara paling umum atau di mana lokasi paling umum untuk mendefinisikannya?
akcasoy
1. ya itu yang saya maksud dengan aplikasi GUI. 2. pengaturan variabel lingkungan untuk aplikasi GUI di OS X 10.8 tampaknya berhenti sulit. Beberapa aplikasi memungkinkan Anda menentukan variabel lingkungan, yang akan diteruskan ke aplikasi lain, dalam preferensi mereka misalnya. Anda juga dapat menggunakan open -a Appnamemetode ini dalam sesi Terminal.
Bhas
4
Saya tidak tahu mengapa tetapi bagi saya (OS X Yosemite 10.10.1) .profiletidak membantu. Saya harus memasukkan exportpernyataan ke dalam .bash_profileuntuk membuatnya bekerja. Semoga ini bisa membantu orang lain jika dia mengalami masalah yang sama ...
chuky
23

Di Yosemite, Anda harus memasukkan ke export VARIABLE='something'dalam .bash_profile.

Saya sudah mencoba menulis bagian export VARIABLE='something'dalam .profiletanpa hasil.

Rafael Eyng
sumber
Memang. .profile hanya berfungsi ketika Anda secara manual mengeksekusi melalui source .profile Tapi setelah restart, profil. tidak dimuat. .Bash_profile adalah.
KC
tidak sepenuhnya benar.
Koray Tugay
2
@ KorayTugay Bisakah Anda menunjukkan apa yang salah, dan mungkin cara untuk memperbaikinya?
Rafael Eyng
7

Bagi mereka yang tidak suka repot dengan file teks dan editor, ada alat GUI juga di GitHub .

mkraemerx
sumber
Bagus ! Saya menghabiskan sepanjang hari mencari tahu untuk menyelesaikan masalah variabel lingkungan dan saya tidak ada di mana pun. Aplikasi yang Anda posting memecahkan semua kerepotan lingkungan saya
Shajo
5

Untuk menambahkan direktori ke path, ada opsi yang lebih baik di OS X: Semua entri dalam file / etc / path ditambahkan ke path, sebelum shell apa pun dimulai.

Edit file ini dengan:

sudo pico /etc/paths

Untuk info lebih lanjut, lihat: https://gist.github.com/Overbryd/1669348

Bjinse
sumber
Terima kasih! bagi saya ini adalah cara paling elegan untuk memasukkan jalur baru
Asimov
4

OSX hanya memiliki satu perubahan variabel lingkungan dan itu ada di Lion di mana ~ / .MacOSX / environment.plist telah dihapus. Meskipun ada juga perubahan pada shell default di 10.2 atau 10.3 dari tsch ke bash.

Anda perlu menentukan apa yang Anda inginkan untuk set variabel lingkungan dan lingkungan apa yang Anda miliki.

Anda juga perlu memahami shell dan Unix yang menurut komentar Anda belum sepenuhnya Anda lakukan. Ada beberapa tutorial nbash di sekitar.

Mengenai poin Anda

  1. Anda mengerti dengan benar dengan asumsi Anda berada dalam shell tipe sh (mis. Bash atau zsh)
  2. Ini untuk shell C misalnya tcsh jadi tidak akan berfungsi pada default terbaru.
  3. Anda perlu membuat. Profil lalu berhasil
  4. Ini .bash_profile atau .bashrc yang lebih baik dan Anda harus membuat file terlebih dahulu
  5. Benar-benar benar :) Gunakan TextEdit atau nano (atau emacs)
  6. Perbaiki hingga OSX 10.7 dan yang ingin melakukan ini untuk program yang dipanggil dari Workspace misalnya dari Dock atau Finder (atau buka)

Jadi 3 atau 4 berfungsi jika Anda memanggil program dari baris perintah (atau dari program yang dimulai pada baris perintah tetapi tidak dengan terbuka)

Adapun program-program dari GUI lihat pertanyaan ini

Adapun internet penuh dengan sampah - Anda harus memiliki latar belakang yang cukup untuk memahami artikel karena Anda telah menemukan banyak hal yang dianggap atau tidak benar. Situs StackExhnage harus lebih baik karena Anda dapat melihat apakah jawaban telah disetujui dari jumlah suara.

pengguna151019
sumber
Saya masih belum mendapatkan hasil apa pun. Pertanyaan yang ditautkan tidak membawa saya ke solusi. Saya memiliki mac selama 4 tahun, namun masih belum memiliki (tidak harus) pengalaman tentang UNIX. Saya pikir, ketika jawaban "Mengapa itu sangat sulit?" is "plist telah dihapus, ubah 10.2 atau 10.3, shell tipe sh, hingga 10.7 dll." jawabannya bertentangan dengan dirinya sendiri.
akcasoy
Itu bisa dibuat dengan sangat mudah seperti di windows. Ngomong-ngomong .. apa yang sebenarnya kuharapkan adalah sth. seperti ini: 1- dir rumah terbuka 2- terminal terbuka 3 - tulis "xxx" simpan 4-klik dll. kita tidak harus memiliki latar belakang yang cukup untuk mengatur hanya variabel sederhana, setidaknya bisa menemukan solusi yang tepat dari jawaban boilerplate tersebut pada internet.
akcasoy
Jika Anda memerlukan variabel lingkungan, Anda harus memahami apa yang mereka lakukan dan itu membutuhkan latar belakang. Juga karena Anda tidak menyatakan apa yang Anda gunakan variabel untuk saya harus memberikan semua perbedaan yang mungkin. Catatan untuk pengaturan Java JAVA_HOME belum tentu merupakan cara terbaik (lihat pertanyaan Java)
user151019
Pertanyaan saya adalah tentang MENGATUR variabel. Baik tentang apa yang mereka lakukan, atau tentang hal lain yang membutuhkan lebih banyak informasi. Anda jelas dapat mengaturnya bahkan tanpa latar belakang. Terima kasih atas jawaban Anda. Tapi seperti yang sudah saya tulis, proposal sederhana untuk solusi sudah cukup, yang sudah saya terima kasih kepada Bhas.
akcasoy
Anda benar-benar tidak boleh menetapkan variabel tanpa latar belakang Anda harus tahu apa yang mereka lakukan
user151019
4

Jika Anda menggunakan zshseperti saya, Anda perlu memodifikasi ~/.zshrc.

shellbye
sumber
1
Atau dalam.zprofile
waktu