環境変数したい(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)