OS Xで環境変数を設定するにはどうすればよいですか?


70

OS Xの環境変数をJAVA_HOMEM2_HOMEまたはのように設定するのは常に困難ですPATH。OS X Mavericksでこれらを設定する方法は?

私はいくつかの研究をしましたが、私が見つけた答えはまだ私を本当に助けていませんでした:

  1. export JAVA_HOME=/... (しかし、変更は一時的なもので、たった1つのターミナルセッションのようです。)
  2. setenv JAVA_HOME=/... (ただし、コマンドが見つかりません。)
  3. .profile変数を開いて書き込み、変更を永続的にします(.profile存在しません)。
  4. .bash_profile変数を開いて書き込み、変更を永続的にします(.bash_profile存在しません)。
  5. vi ~/.bash_profile(知らない人にとってはかなりの挑戦ですvi。)
  6. 独自のenrivonment.plistファイルを作成します。

Unixのノウハウがないと仮定して、誰かがOS X Mavericksでそれを動作させるための手順を教えてくれますか?


1
Unix(および他のOS)は新規ユーザーにとっては難しいので、あなたのフラストレーションを理解できます。それにもかかわらず、書かれた質問はかなり広範であり、あなたが探している答えをもたらさないでしょう。あなたが実際に抱えている問題(「MavericksでJAVA_HOMEとPATHを設定する方法」など)に焦点を当てて書き直してください。これにより、構築できる良い答えが得られます。
nohillside

私が見るように、スタッフはすでに私の質問を編集しました。ありがとう 私の質問は、タイトルが言っているように、MavericksでJAVA_HOMEとPATHを設定する方法です。
akcasoy

@patrix:次回、私の問題または私が尋ねたいことを説明し、あなたはあなたの言葉で私の質問を書きます。OK?モデレーターはこれを行うことで非常に満足しているようです。
akcasoy

回答:


45

ホームディレクトリに.profileがあります。export …環境変数に関する多くのステートメントが含まれています。

このようなファイルを作成するには、ターミナルを開き、コマンドtouch .profile 「ターミナルを閉じる」を発行します。

次に、そのファイルをプレーンテキストエディター(たとえば、TextWrangler)で開く必要があります。nano .profileターミナルウィンドウで使用することもできます(現在のディレクトリはホームにする必要があります)vi。などの行を挿入しexport JAVA_HOME=…ます。保存し、nano使用した場合は終了し、実行中のターミナルを終了します。

ターミナルを開き、コマンドenvを発行してすべての環境変数を確認します。定義したものに割り当てた値があることを確認してください。あなたは今行ってもいいはずです。ただし、で定義された環境変数.profileはGUIアプリケーションに渡されないことを忘れないでください。


どうもありがとうございました。これは本当に探していたものでした。すべての変数を設定しました。GUIアプリケーションとはどういう意味ですか?Eclipse、Spring Toolsなどを使用するには、javaとmavenの変数が必要でした。EclipseはGUI(グラフィカルユーザーインターフェイス)を備えたアプリケーションです。GUIでこれを意味しますか?
akcasoy

OK。私はいくつか読んだことがありますが、あなたは本当にGUIとGUIを意味していると思います。これらの変数をどこでも利用できるようにする方法はありますか?最も一般的な方法は何ですか、またはそれらを定義する最も一般的な場所はどこですか?
akcasoy

1.はい、それがGUIアプリの意味です。2. OS X 10.8でGUIアプリの環境変数を設定することは、やや難しいようです。一部のアプリでは、環境変数を定義できます。環境変数は、たとえば設定で他のアプリケーションに渡されます。またopen -a Appname、ターミナルセッションでメソッドを使用することもできます。
Bhas

4
理由はわかりませんが、私(OS X Yosemite 10.10.1)にとって.profileは役に立ちませんでした。私はそれを機能させるためにexportステートメントを入れなければなり.bash_profileませんでした。彼は同じ問題に実行する場合うまくいけば、これは...誰か他の人に役立ちます
chuky

23

ヨセミテでは、あなたが入れなければならないexport VARIABLE='something'内部.bash_profile

私は成功せずにexport VARIABLE='something'内部.profileを書いてみました。


確かに。.profileは、手動で実行した場合にのみ機能しますがsource .profile 、再起動後、.profileは読み込まれません。.bash_profileは次のとおりです。
KC

本当に正しくありません。
コライトゥゲイ

2
@KorayTugay何が間違っているのか、それを修正する方法を教えていただけますか?
ラファエル・アイング


7

テキストファイルやエディターに手間がかかることを好まない人のために、GitHubにもGUIツールがあります


すばらしいです !私は、環境変数の問題を解決するために考え出す一日を過ごしたと私はあなたがすべての私の環境口論解決掲示することをどこにも【選択アプリだった
Shajo

5

ディレクトリをパスに追加するには、OS Xに優れたオプションがあります。ファイル/ etc / pathsのすべてのエントリは、シェルが開始される前にパスに追加されます。

このファイルを編集するには:

sudo pico /etc/paths

詳細については、https//gist.github.com/Overbryd/1669348を参照してください。


ありがとうございました!私にとってこれは新しいパスを含めるための最もエレガントな方法である
アシモフ

4

OSXには環境変数の変更が1つしかなく、それはLionで〜/ .MacOSX / environment.plistが削除されました。ただし、10.2または10.3のデフォルトシェルは、tschからbashに変更されています。

環境変数を設定する対象と使用する環境を定義する必要があります。

また、あなたのコメントでは完全に行っていないシェルとUnixを理解する必要があります。いくつかのnbashチュートリアルがあります。

あなたのポイントについて

  1. 自分がshタイプのシェル(bashやzshなど)にいると仮定すると、正しく理解できます。
  2. これは、たとえばtcshなどのCシェル用であるため、最近のデフォルトでは機能しません。
  3. .profileを作成する必要があります
  4. .bash_profile以上の.bashrcであり、最初にファイルを作成する必要があります
  5. 完全に正しい:) TextEditまたはnano(またはemacs)を使用します
  6. OSX 10.7およびwyを修正して、DockまたはFinder(またはオープン)などのワークスペースから呼び出されたプログラムに対してこれを実行します。

したがって、コマンドラインからプログラムを呼び出す場合(または、コマンドラインで起動されたが、開いていないプログラムから)を呼び出す場合、3または4が機能します。

GUIからのプログラムについては、この質問を参照してください

インターネットはごみだらけです-記事を理解するのに十分な背景知識が必要です。なぜなら、多くのことを想定している、または間違っているからです。StackExhnageサイトは、投票数から回答が同意されたかどうかを確認できるため、より良いはずです。


まだ結果がありません。リンクされた質問は私を解決に導きません。私は4年間Macを持っていますが、それでもUNIXの経験はありません(必要ありませんでした)。「どうしてそんなに難しいの?」と答えたとき、私は思う。「plistが削除された、10.2または10.3での変更、shタイプのシェル、10.7までなど」である。答えはそれ自体と矛盾する。
akcasoy

Windowsのように非常に簡単に作成できます。とにかく..私が本当に期待していたのはsthでした。このように:1- open home dir 2- open terminal 3- write "xxx" 4-click saveなど。単純な変数を設定するのに十分なバックグラウンドを持っていてはいけません。インターネット。
akcasoy

環境変数が必要な場合は、環境変数が何をしているかを理解する必要があり、それにはバックグラウンドが必要です。また、変数を使用していることを述べていなかったため、考えられるすべての違いを説明する必要があります。Javaの設定JAVA_HOMEが最適な方法であるとは限らない(Javaの質問を参照)
user151019

私の質問は、変数の設定に関するものでした。彼らが何をしているのか、より多くの情報を必要とする他のことについても。バックグラウンドがなくても明らかに設定できます。でも答えてくれてありがとう。しかし、すでに書いたように、解決策の簡単な提案で十分でした。それはすでにBhasのおかげです。
akcasoy

バックグラウンドなしで変数を設定しないでください。変数が何をするのかを知る必要があります
-user151019

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.