環境変数したい(thisroot.sh
)
// for bash/zsh
$ . $(root-config --prefix)/bin/thisroot.sh
// for fish
$ . $(root-config --prefix)/bin/thisroot.fish
ROOTをインストールしたディレクトリの中にある
bin/thisroot.sh
を読み込むと、環境変数を設定できます。
スクリプトはシェルごとに用意されています。
ROOT 6.22以降は、この設定が原則不要となりました。
ただし、PyROOTを使う場合は、PYTHONPATH
の設定が必要なため、このファイルを読み込む必要があります。
参考
brew info root
のCaveatsに
ROOT 6.22以降では、原則読み込み不要になったことが書いてあります。
$ brew info root
...
> ==> Caveats
As of ROOT 6.22, you should not need the thisroot scripts;
but if you depend on the custom variables set by them, you can still run them:
...
設定される環境変数は以下のとおりです。
1export ROOTSYS=$(root-config --prefix)
2export PATH=$ROOTSYS/bin:$PATH
3export LD_LIBRARY_PATH=$ROOTSYS/lib/root:$LD_LIBRARY_PATH
4export DYLD_LIBRARY_PATH=$ROOTSYS/lib/root:$DYLD_LIBRARY_PATH
5export SHLIB_PATH=$ROOTSYS/lib/root:$SHLIB_PATH
6export LIBPATH=$ROOTSYS/lib/root:$LIBPATH
7export PYTHONPATH=$ROOTSYS/lib/root:$PYTHONPATH
8export MANPATH=$ROOTSYS/share/man:$MANPATH
9export CMAKE_PREFIX_PATH=$ROOTSYS:$CMAKE_PREFIX_PATH
10export JUPYTER_PATH=$ROOTSYS/etc/notebook:$JUPYTER_PATH
11export JUPYTER_CONFIG_DIR=$ROOTSYS/etc/notebook:$JUPYTER_CONFIG_DIR
注意
環境変数を設定する場合、ROOTのバージョン番号が明記された本体パスを指定する必要があります。
// thisroot.sh のパスを検索
$ locate thisroot.sh
/opt/homebrew/Cellar/root/6.32.02_1/bin/thisroot.sh
/opt/homebrew/bin/thisroot.sh
// 片方はシンボリックリンクであることを確認
$ ls -l /opt/homebrew/bin/thisroot.sh
/opt/homebrew/bin/thisroot.sh@ -> ../Cellar/root/6.32.02_1/bin/thisroot.sh
locate thisroot.sh
で確認すると、2種類のパスが見つかりました。
本体は/opt/homebrew/Cellar/root/6.32.02_1/bin/thisroot.sh
のようにROOTのバージョンを含んだパスで、
/opt/homebrew/bin/thisroot.sh
はそこへのシンボリックリンクになっていました。
/opt/homebrew/bin/
のパスのほうがROOTのバージョンを含まず、汎用的に使えそうですが、ROOTSYS=/opt/homebrew
と設定されてしまいました。
これは、シェルスクリプト内の処理で、現在のディレクトリの親ディレクトリをROOTSYSとして設定するためです。
なお、ROOTSYSがすでに定義されている場合は、そちらが優先されます。
ROOTSYS
をあらかじめ定義しておくのもよいかもしれません。
1export ROOTSYS=$(root-config --prefix)