1

Macports を使用して、Mac (OS X 10.7.5) に複数のバージョンの Scala (2.9 および 2.10) をインストールしました。シンプルな「ポート選択」コマンドでこれら 2 つのバージョンを簡単に切り替えることができるため、この方法が気に入っています。ただし、このコマンドでは SCALA_HOME 環境変数が自動的に設定されません。

SCALA_HOME 変数を正しく設定するための適切な nice macport コマンドはありますか? いいえの場合、SCALA_HOME は macport がインストールされた scala でどのディレクトリを指す必要がありますか?

ありがとう

編集: 今まで私が見つけた最良の方法は、現在の scala コマンドを調べ、それに応じて SCALA_HOME 変数を調整するシェル スクリプトを使用することです。Scalaのバージョンを切り替えた後は必ず実行しています。

スクリプトで重要なコマンドは次のとおりです。私は専門のシェル プログラマーではないため、何か提案があれば感謝します。

export SCALA_HOME=$(ls -l `which scala` | gawk 'match($0, "(/opt/local/share/.*)/bin/scala", a) {print a[1]}')

4

4 に答える 4

3

MacPorts でそれを行う方法はわかりませんが、Scala は /opt/local/share/scala-2.10/ にインストールされています。だから私は追加しました

export SCALA_HOME="/opt/local/share/scala-2.10/"

~/.profile に追加すると、すべてが機能しているように見えます (ただし、バージョンを切り替えるたびに $SCALA_HOME を変更する必要があります)。

于 2014-02-01T22:46:03.470 に答える
2

OK、今のところ私が見つけた最善の解決策は、scala バージョンを変更した後に次のコマンドを実行することです。

export SCALA_HOME=$(ls -l `which scala` | gawk 'match($0, "(/opt/local/share/.*)/bin/scala", a) {print a[1]}')

そのコマンドも my に含めた.bash_profileので、SCALA_HOME現在使用しているscalaバージョンを常に指しています。

このコマンドは、MacPorts からインストールされた gawk 4.1.1 を使用します。

于 2014-06-03T04:04:42.770 に答える
0

現在、brew を介して scala をインストールすると、パスは
/usr/local/Cellar/scala/[version]
に設定されるため、SCALA_HOME は次のように定義できます。

export SCALA_HOME=$(greadlink -f $(dirname "$(greadlink -f $(which scala))")/../../)

ps: 通常の readlink は 'f' フラグをサポートしていないため、そのためには 'greadlink' をインストールする必要があります。

于 2016-05-31T10:22:27.600 に答える