web-dev-qa-db-ja.com

OSX Maverickにmvnコマンドが見つかりません

これを重複としてマークする前に、これらの投稿を調べましたが、何も助けにはなりませんでした。 'mvn'は内部コマンドまたは外部コマンドとして認識されません取得-bash:mvn:コマンドが見つかりませんコマンドラインからmvnコマンドにアクセスできません?

いくつかはウィンドウに固有であり、助けにはなりませんでした。 Mac OS X上のそれらのいくつかは、私が試したが助けにはならなかったという提案をしました。

私が試したもの(これはMavenが示唆するものです):

配布アーカイブ、つまりApache-maven-3.1.1-bin.tar.gzをMaven 3.1.1をインストールするディレクトリに抽出します。これらの手順は、/ usr/local/Apache-mavenを選択したことを前提としています。サブディレクトリApache-maven-3.1.1がアーカイブから作成されます。コマンドターミナルで、M2_HOME環境変数を追加します。 export M2_HOME =/usr/local/Apache-maven/Apache-maven-3.1.1。 M2環境変数を追加します。 M2 = $ M2_HOME/binをエクスポートします。オプション:MAVEN_OPTS環境変数を追加して、JVMプロパティを指定します。 export MAVEN_OPTS = "-Xms256m -Xmx512m"。この環境変数は、Mavenに追加のオプションを提供するために使用できます。 M2環境変数をパスに追加します(例: PATH = $ M2:$ PATHをエクスポートします。 Java_HOMEがJDKの場所に設定されていることを確認してください。 Java_HOME =/usr/Java/jdk1.5.0_02をエクスポートし、$ Java_HOME/binがPATH環境変数にあること。 mvn --versionを実行して、正しくインストールされていることを確認します。

インストールに使用したterminalで問題なく動作することがわかります。この問題はありません。しかし、新しいterminalを試してみると、command not foundが返されます。

export PATH=$M2.bashrcに追加し、sourceを追加してからターミナルを再起動しましたが、それでも役に立ちませんでした。

誰かがターミナルのすべてのセッションでそれを利用可能にする方法を提案できますか?

ありがとう

27
eagertoLearn

これらが役立つ可能性がある場合は、次を試してください。

インストールはインストールした端末で動作するため、exportsを実行すると、current bash and its child processで動作します。新しいterminalsには生成されません。

セッションが閉じられると、env変数は失われます。 .bash_profileを使用すると、bashセッションが開始すると、その.bashrc and .bash_profileが「実行」されるため、すべてのセッションで使用可能にできます。

次の手順に従って、それが役立つかどうかを確認します。

  1. 動作している端末でenv | grep M2_HOMEと入力します。これは次のようなものを与えるはずです

    M2_HOME =/usr/local/Apache-maven/Apache-maven-3.1.1

  2. env | grep Java_HOMEと入力すると、次のようになります。

    Java_HOME =/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home

これで、M2_HOMEJava_HOMEのPATHができました。

ls /usr/local/Apache-maven/Apache-maven-3.1.1/binを実行すると、そこにmvnバイナリが表示されます。あとは、PATHを使用して毎回この場所を指定するだけです。 bashPATHに記載されているすべてのディレクトリパスを検索するため、mvnを見つけます。

  1. .bash_profileを開きます。作成していない場合は作成してください

    vi〜/ .bash_profile

以下を追加します。

#set Java_HOME
Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
export Java_HOME


M2_HOME=/usr/local/Apache-maven/Apache-maven-3.1.1
export M2_HOME

PATH=$PATH:$Java_HOME/bin:$M2_HOME/bin
export PATH
  1. ファイルを保存し、source ~/.bash_profileと入力します。このステップは、.bash_profileファイル内のコマンドを実行します。これで準備完了です。

  2. 新しいターミナルを開いて、mvnと入力してください。

51
brain storm

ここに私のために働いたものがあります。

まず、M2_HOME変数がenv | grep M2_HOMEに設定されているかどうかを確認しました。 nothingがあります。

「/usr/local/Apache-maven-3.2.2」フォルダーにMavenがインストールされていることがわかっていたため、次の3つのステップを実行することで問題が解決しました。

  1. M2_HOME環境変数を設定します

M2_HOME=/usr/local/Apache-maven-3.2.2

  1. M2環境変数を設定する

M2=$M2_HOME/bin

  1. PATHを更新する

export PATH=$M2:$PATH

上記のように、シーケンスを自動的に実行する場合は、.bash_profileファイルにそのシーケンスを保存できます。

8
Oleg K

これをmacOS Sierraバージョン10.12.6で行いました。上記のソリューションは適切ですが、〜/ .bash_profileが必要です。 /usr/local/binはすでに$ PATHにあり、echo $PATHmavenをダウンロードする および次のコマンドを実行します-

$ cd ~/Downloads
$ tar xvf Apache-maven-3.5.3-bin.tar.gz
$ mv Apache-maven-3.5.3 /usr/local/
$ cd /usr/local/bin
$ Sudo ln -s ../Apache-maven-3.5.3/bin/mvn mvn
$ mvn -version
$ which mvn

注:Apache mavenのバージョンは、ダウンロードするバージョンです。

EDITED:これはmacOS Mojaveバージョン10.14.14でも機能します。

8
limitlessriver

mavenをインストールする手順:

  1. http://maven.Apache.org/download.cgi からMavenファイルをダウンロードします
  2. $ tar xvf Apache-maven-3.5.4-bin.tar.gz
  3. apacheフォルダーを目的の場所にコピーします$ cp -R Apache-maven-3.5.4/Users/locals
  4. apacheディレクトリに移動します$ cd /Users/locals/Apache-maven-3.5.4/
  5. create .bash_profile$ vim〜/ .bash_profile
  6. 次の2つのコマンドを記述します:export M2_HOME =/Users/manisha/Apache-maven-3.5.4 export PATH = $ PATH:$ M2_HOME/bin7 save vimを終了します:wq!
  7. ターミナルを再起動してmvn -versionと入力します
0
Manisha Malik

私はブレインストームの指示に従いましたが、まだ別の結果が得られていませんでした。新しいターミナルウィンドウはmvnコマンドを認識しませんでした。理由はわかりませんが、宣言を小さなチャンク.bash_profileに分割することでうまくいきました。私が知る限り、基本的に彼と同じことをしています。ここに私の.bash_profileで異なるものがあります:

Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
export PATH Java_HOME
J2=$Java_HOME/bin
export PATH J2
M2_HOME=/usr/local/Apache-maven/Apache-maven-2.2.1
export PATH M2_HOME
M2=$M2_HOME/bin
export PATH M2
0
jareto