Làm cách nào để đặt biến môi trường trên OS X?


69

Tôi luôn gặp khó khăn khi đặt các biến Môi trường trong OS X như JAVA_HOME, M2_HOMEhoặc PATH. Làm cách nào để thiết lập những thứ này trên OS X Mavericks?

Tôi đã thực hiện một số nghiên cứu nhưng câu trả lời tôi tìm thấy chưa thực sự giúp tôi:

  1. export JAVA_HOME=/... (Nhưng có vẻ như các thay đổi là tạm thời, chỉ cho một phiên cuối.)
  2. setenv JAVA_HOME=/... (Nhưng không tìm thấy lệnh.)
  3. Mở .profilevà viết các biến bên trong để thay đổi vĩnh viễn- ( .profilekhông tồn tại).
  4. Mở .bash_profilevà viết các biến bên trong để thay đổi vĩnh viễn- ( .bash_profilekhông tồn tại).
  5. vi ~/.bash_profile(Khá là một thách thức cho ai đó không biết vi.)
  6. Tạo enrivonment.plisttập tin của riêng bạn .

Ai đó có thể vui lòng hướng dẫn tôi các bước để làm cho nó hoạt động trên OS X Mavericks, giả sử không có Unix biết không?


1
Unix (và bất kỳ HĐH nào khác) có thể gây khó khăn cho người dùng mới để tôi có thể hiểu sự thất vọng của bạn. Tuy nhiên, câu hỏi như được viết khá rộng và sẽ không mang lại câu trả lời mà bạn đang tìm kiếm. Bạn có thể vui lòng viết lại nó để tập trung vào vấn đề bạn đang thực sự gặp phải không (như "Làm cách nào để tôi đặt JAVA_HOME và PATH trên Mavericks") để đảm bảo rằng bạn có được câu trả lời tốt mà bạn có thể giải quyết?
nohillside

Như tôi thấy, Stuffe đã chỉnh sửa câu hỏi của tôi. Thanx. Câu hỏi của tôi giống như tiêu đề nói, làm thế nào để đặt JAVA_HOME và PATH trên Mavericks.
akcasoy

@patrix: Lần sau, tôi sẽ giải thích cho bạn vấn đề của tôi hoặc những gì tôi muốn hỏi, và bạn sẽ viết CÂU HỎI CỦA TÔI VỚI CÔNG VIỆC CỦA BẠN. ĐỒNG Ý? Có vẻ như bạn điều hành rất hài lòng khi làm điều này.
akcasoy

Câu trả lời:


43

Tôi có một .profile trong thư mục nhà của tôi; nó chứa nhiều export …câu lệnh cho các biến môi trường

Bạn có thể tạo một tệp như vậy bằng cách mở Terminal và phát lệnh touch .profile Đóng Terminal.

Sau đó, bạn nên mở tệp đó trong một trình soạn thảo văn bản đơn giản (ví dụ TextWrangler). Bạn cũng có thể sử dụng nano .profiletrong cửa sổ Terminal (thư mục hiện tại phải là nhà của bạn), điều này dễ dàng hơn nhiều vi. Chèn các dòng như export JAVA_HOME=…. Lưu, thoát nanonếu bạn đã sử dụng và thoát khỏi Terminal đang chạy.

Mở Terminal và đưa ra lệnh envđể xem tất cả các biến môi trường. Kiểm tra xem những cái bạn xác định có giá trị bạn đã gán cho chúng không. Bạn nên đi ngay bây giờ. Nhưng đừng quên rằng các biến môi trường được xác định trong .profilekhông được truyền cho các ứng dụng GUI.


Cảm ơn rât nhiều. Đây là những gì tôi thực sự tìm kiếm. Bây giờ tôi đã thiết lập tất cả các biến của tôi. Các ứng dụng GUI có nghĩa là gì? Tôi chỉ cần một số biến cho java và maven để làm việc với nhật thực, công cụ lò xo, v.v. Eclipse là một ứng dụng có GUI (Giao diện người dùng đồ họa). Bạn có ý nghĩa này bởi GUI?
akcasoy

Đồng ý. Tôi đã đọc một số và tôi nghĩ rằng bạn có nghĩa là GUI thực sự có GUI .. Có cách nào để làm cho các biến này có sẵn ở mọi nơi không? Cách phổ biến nhất hoặc vị trí phổ biến nhất để xác định chúng sau đó là gì?
akcasoy

1. vâng, đó là ý của ứng dụng GUI. 2. thiết lập các biến môi trường cho ứng dụng GUI trong OS X 10.8 dường như khó thoát. Một số ứng dụng cho phép bạn xác định các biến môi trường, được chuyển sang các ứng dụng khác, chẳng hạn trong tùy chọn của chúng. Bạn cũng có thể sử dụng open -a Appnamephương thức này trong một phiên Terminal.
Bhas

4
Tôi không biết tại sao nhưng đối với tôi (OS X Yosemite 10.10.1) .profilethì không giúp được gì. Tôi đã phải đưa các exporttuyên bố vào .bash_profileđể làm cho nó hoạt động. Hy vọng rằng điều này sẽ giúp người khác nếu anh ta gặp phải vấn đề tương tự ...
chuky 4/12/14

22

Trong Yosemite, bạn nên đặt export VARIABLE='something'bên trong .bash_profile.

Tôi đã thử viết export VARIABLE='something'bên trong .profilemà không thành công.


Thật. .profile chỉ hoạt động khi bạn thực hiện thủ công thông qua source .profile Nhưng sau khi khởi động lại, .profile không được tải. .Bash_profile là.
KC

không thực sự đúng
Koray Tugay

2
@KorayTugay Bạn có thể chỉ ra cái gì sai và có thể là cách khắc phục không?
Rafael Eyng


7

Đối với những người không muốn gặp rắc rối với các tệp văn bản và trình soạn thảo, cũng có một công cụ GUI trên GitHub .


Tuyệt quá ! Tôi đã dành cả ngày để tìm ra cách giải quyết vấn đề biến môi trường và tôi không ở đâu cả. Ứng dụng mà bạn đăng lên đã giải quyết tất cả những rắc rối về môi trường của tôi
Shajo

5

Để thêm một thư mục vào một đường dẫn, có một tùy chọn tốt hơn trong OS X: Tất cả các mục trong tệp / etc / path được thêm vào đường dẫn, trước khi bất kỳ shell nào được bắt đầu.

Chỉnh sửa tập tin này với:

sudo pico /etc/paths

Để biết thêm thông tin, hãy xem: https://gist.github.com/Overbryd/1669348


Cảm ơn bạn! Đối với tôi đây là cách thanh lịch nhất để bao gồm một con đường mới
Asimov

4

OSX chỉ có một biến môi trường thay đổi và đó là trong Lion nơi ~ / .MacOSX / môi trường.plist đã bị xóa. Mặc dù cũng đã có một sự thay đổi trong shell mặc định trong 10.2 hoặc 10.3 từ tsch sang bash.

Bạn cần xác định những gì bạn muốn biến môi trường được đặt cho và môi trường bạn có.

Bạn cũng cần hiểu shell và Unix mà theo nhận xét của bạn, bạn chưa hoàn thành. Có một số hướng dẫn nbash xung quanh.

Theo quan điểm của bạn

  1. Bạn hiểu chính xác giả sử bạn đang ở trong vỏ loại sh (ví dụ: bash hoặc zsh)
  2. Cái này dành cho shell C, ví dụ như tcsh vì vậy sẽ không hoạt động với các mặc định gần đây.
  3. Bạn cần tạo .profile để nó hoạt động
  4. Đó là .bash_profile hoặc tốt hơn .bashrc và bạn cần tạo tệp trước
  5. Hoàn toàn chính xác :) Sử dụng TextEdit hoặc nano (hoặc emacs)
  6. Sửa lỗi lên đến OSX 10.7 và muốn thực hiện điều này cho các chương trình được gọi từ Workspace, ví dụ từ Dock hoặc Finder (hoặc mở)

Vì vậy, 3 hoặc 4 hoạt động nếu bạn đang gọi chương trình từ dòng lệnh (hoặc từ một chương trình bắt đầu trong dòng lệnh nhưng không mở bằng)

Đối với các chương trình từ GUI, hãy xem câu hỏi này

Đối với internet đầy rác - bạn cần có đủ nền tảng để hiểu một bài viết bởi vì bạn đã phát hiện ra nhiều điều giả định hoặc không chính xác. Các trang web StackExhnage nên tốt hơn khi bạn có thể xem câu trả lời đã được đồng ý từ số phiếu bầu chưa.


Tôi vẫn không có kết quả. Câu hỏi liên kết không đưa tôi đến giải pháp. Tôi có mac trong 4 năm, nhưng vẫn chưa có (chưa phải) trải nghiệm về UNIX. Tôi nghĩ rằng, khi câu trả lời của "Tại sao nó quá khó?" là "plist đã bị xóa, thay đổi trong 10.2 hoặc 10.3, shell sh, lên đến 10.7, v.v." câu trả lời mâu thuẫn với chính nó.
akcasoy

Nó có thể được thực hiện rất dễ dàng như trong các cửa sổ. Dù sao .. những gì tôi đã thực sự mong đợi là sth. như thế này: 1- mở thư mục nhà mở 2- thiết bị đầu cuối mở 3- ghi "xxx" lưu 4 lần nhấp, v.v. Internet
akcasoy

Nếu bạn cần các biến môi trường, bạn phải hiểu những gì họ đang làm và điều đó đòi hỏi phải có nền tảng. Ngoài ra, khi bạn không nói rõ những gì bạn đang sử dụng các biến cho tôi phải đưa ra tất cả các khác biệt có thể có. Lưu ý cho cài đặt Java JAVA_HOME không nhất thiết là cách tốt nhất (xem câu hỏi Java)
Đánh dấu

Câu hỏi của tôi là về việc thiết lập các biến. Không phải về những gì họ đang làm, cũng như về bất kỳ điều gì khác đòi hỏi thêm thông tin. Bạn rõ ràng có thể thiết lập chúng ngay cả khi không có nền. Cảm ơn bạn đã trả lời của bạn mặc dù. Nhưng như tôi đã viết, một đề xuất đơn giản cho giải pháp là đủ, mà tôi đã có nhờ Bhas.
akcasoy

Bạn thực sự không nên đặt biến mà không có nền, bạn phải biết họ làm gì
Đánh dấu

2

Trong trường hợp bạn đang sử dụng zshnhư tôi, bạn cần sửa đổi ~/.zshrc.


Hoặc trong.zprofile
gian biểu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.