Mac OS Xおよび/またはEclipseのPATH env変数


17

bashでパスを印刷すると、次のように印刷されます。

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

System.out.println(System.getenv( "PATH"));を実行すると Eclipseの下で実行されているJavaでは、印刷されます

/usr/bin:/bin:/usr/sbin:/sbin

この矛盾がある理由をどのように把握できますか?/ usr / local / binをPATHに追加し、EclipseのJavaアプリで使用できるようにする必要があります。(注:システムパスを変更していないため、これらはOSまたはインストールした1つ以上のアプリケーションによって設定されるデフォルトです。)

回答:



9

数年後に答えを探している人(ネオン、酸素):

MacOSターミナルの$ PATHエントリが欠落しているため、Eclipseの私のノードとangle / angular2ツールの一部が失敗しました。ツーリングでは、ログイン/ユーザーシェルの提供を開始しない組み込みのEclipseターミナルを適切に使用します。したがって、ユーザーのPATH設定を構成するには、Eclipse設定でEclipseターミナルを設定して--loginシェルとして起動する必要があります。

に行く:

Preferences -> Terminal -> Local Terminal

そしてセット

Arguments に: --login

Eclipse内で新しいターミナルを開き、ユーザーの$ PATHを今後使用する必要があります。また、Eclipseで新しいターミナルを開くと、〜/ .bash_profileで設定したすべてが実行されます。


最善の解決策は、GUIでEclipse設定を変更するだけで問題を解決します。
pXel

この回答により、Oxygenにアップグレードすることができました。
ジョン

バージョン文字列「2019-06(4.12.0)」のEclipseに「Terminal」サブメニューがありません。
tsj

8

同じ問題があった。私の解決策は次のとおりです。

  1. /etc/pathsファイルを編集して、目的の追加パスを含めます。

  2. OSXインストールの場合、実行し/Applications/eclipse/eclipse ない /Applications/eclipse/Eclipse.app


1
ここのomg番号2は、非常にフラストレーションの解決策でした。ありがとう!!
トミー

1
私はこの答えに賛成できるようにこのウェブサイトに登録しました-アイテム#2はそれを修正しました!
イフタ

etc / pathsはどこにありますか?
ジョン

1
@John /etc/pathsはファイルの完全パスです。Cmd + Shift + Gを実行し、そこに「/ etc」を入力してEnter / returnを押すことができます。そこで「paths」という名前のファイルを見つける必要があります。
スーフィアン

6

なるほど、私が見つかりました。このWebページ語ります

注:Mac OS Xでは、デフォルトのPATHに/ usr / local / binが含まれていません。したがって、デフォルトのbashシェルを使用している場合、これらのツールを使用する前にexport PATH = / usr / local / bin:$ PATHを入力(または/ etc / profileに含めてください)してください。

これは適切/不適切なことですか?自分が何をしているのかを本当に知らない限り、システムファイルの編集に不安を感じます。/ usr / local / binはrootのみが書き込み可能であるため、セキュリティホールを開けませんか?


奇妙なことに、エクスポートパスを追加しましたが、Dockから実行されるEclipseには影響しません。また、パスに関するこのページを見つけ、私の/ etc / pathsファイルには

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

それでも、これらのパスは日食に表示されません... $ PATHを出力するバイナリファイルを作成/検索する簡単な方法はありますか。Dockから実行できるので、これをより簡単にデバッグできますか。Eclipseがパスをいじっているかどうかはわかりません。


2
最後の質問に+1。bashやTerminal ではなく OS Xでパスの問題を診断する方法を知りたいです。
フィデリ

将来のGoogle社員への注意:Appleは現在/usr/local/bin、ユーザーの先頭にいます$PATH。(こちらをご覧ください。)
テレマコス

4

Eclipseを使用している場合(「火星」でテスト済み)、「実行構成」を変更できます。

  1. 「実行」→「実行構成...」をクリックします
  2. 左側で適切な実行構成を選択します
  3. [環境]タブを選択します
  4. 「新規...」をクリックします
  5. 「名前」フィールドに「PATH」と入力します
  6. ターミナルに移動し、「echo $ PATH」と入力して結果をコピーします
  7. 結果を「値」フィールドに貼り付けます
  8. クリック「OK」
  9. 「環境」タブに戻り、「ネイティブ環境に環境を追加」を選択していることを確認します

これで、EclipseはPATH環境変数にシステムと同じ値を使用します。要確認:これは、選択した実行構成にのみ当てはまります。

あなたの質問ですでに述べたように、次のようにJavaをチェックインします:

System.getenv();

2

ほとんどの場合、bashログインスクリプト(.bashrcまたは.bash_profile)の1つが変更されてい$PATHます。ターミナルからEclipseを起動した場合/usr/local/bin、そのパスに入りますか?


1
いいね!ターミナルからEclipseを実行すると、パスに/ usr / local / binが含まれます。今、私は何をすべきですか?/ usr / local / binは、すべてのアプリケーションへのパスにあるべきものではありませんか?これをどのスクリプトに入れることができるので、EclipseをFinderまたはDockから実行する場合、パスに含まれますか?
ジェイソンS

1
また、ユーザーディレクトリに.bashrcまたは.bash_profileがありません。
ジェイソンS

2

上記のヒントは、1)/ etc / pathsにルートとしてパスを追加します2)$ ECL_HOME / Eclipse.appの代わりに$ ECL_HOME / Eclipse.app / Contents / MacOS / eclipseでEclipseを開始します


これは私のために働く、どうもありがとう!私の場合は、Eclipseを実行するためのパスが/Applications/Eclipse.app/Contents/MacOS/eclipseある
宗ティンクオ

2

あるいは/usr/local、アプリケーションを指すディレクトリにシンボリックリンクを追加するだけでもかまいません。

root

ln -s /Applications/PhantomJS/phantomjs-1.9.2-macosx/bin/phantomjs / usr / local / phantomjs

これにより、EclipseのMavenプロジェクト内から外部PhantomJSアプリケーションを実行(mvnテスト)することができました。


これは$PATH、の$PATHようなディレクトリやディレクトリとは関係ないようです/usr/local/bin。もっと詳しく説明していただけますか?
パブーク

パスのどこかに、パスにない実際の場所を指すシンボリックリンクを配置します。私は、ファイルの完全なディレクトリでは動作しません、それは単一の実行可能ファイルのために働く、前にそれをやった
ジェイソンSに


1

Eclipse NEON、mac OS X 10.11.6
Eclipseのターミナルはmvnコマンドを使用できません。(のソフトリンクを1つ作成mvnします/usr/local/bin

一時的な解決策:

右クリック/Applications/eclipse->パッケージの内容を表示->コンテンツ-> MacOS->ダブルクリックeclipseして開始します。

この方法でEclipseを起動すると、Eclipseはすべてのパス設定を検出できmvn、Eclipseターミナルでコマンドを使用できるようになります。

eclipseこのフォルダを右クリックしてエイリアスを作成すると、簡単に起動できます。

なぜ今なのか分かりません。これは1つの日食バグであると思います。


0

を編集し~/.bash_profileてパスを含めます

ランチパッドで開始する代わりに、

ターミナルを開き、次のように起動します

/Applications/Eclipse.app/Contents/MacOS/eclipse

それは私のためにトリックをしました。


0

いくつかの答えをまとめて、簡単なものに更新します。

  1. Eclipse.appを右クリックし、「パッケージの内容を表示」を選択します
  2. Contents / MacOSに移動して、「eclipse」を見つけます。
  3. 右クリックして[エイリアスを作成]を選択するか、コマンドとオプションを押しながらドラッグアンドドロップします。
  4. アプリケーションに戻るなど、エイリアスを便利な場所に配置します。
  5. ダブルクリックして起動します。
  6. ステップ6はありません!

これにより、生のEclipse出力を表示する便利なターミナルウィンドウが開くだけでなく、ログインシェルで設定したパスが自動的に採用されます。

そのため、通常の方法のいずれかを使用してパスを設定することができ(編集/etc/paths~/.bash_profileまたはのような動作の良いコマンドラインツールをインストールするだけmbed)、それ以上心配する必要はありません。ターミナルから呼び出すことができれば、Eclipseも呼び出すことができます。

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