現在、Mac でフリーソフトのパッケージ管理というと、 既に使っている MacPorts 以外に、 Homebrew (日本語アクセス) が有名で、 両者が双璧らしい …というか、どちらかというと Homebrew の方が通りが良いらしい。
以前 Homebrew を試してみようとしたこともあったのだけれど、 MacPorts と干渉する可能性があるということと、 /usr/local に Homebrew の管理するもの以外を置くことを 避けさせるような雰囲気があって、 「変なの。それは自分の流儀に合わない。」 と考えて、結局は採用しなかった。
しかし、最近の学生の中には、Homebrew を使っている人がいて、 どうやら避けて通れそうもないので (うちの学生が使っているのは MacPorts である、という前提が崩れたということだ)、 知るために少し時間と労力を割くことに決めた。
UNIX の伝統はほとんど知らない (パスを通すとか、ユーザー管理とか) 人、 Mac を単一ユーザーのためのパソコンとして使う人が対象、 ということらしい。
…正直、おつきあいを避けたくなってきたのだけど、 ここは頭を切り替えて、 1台の Macを用意して、 MacPorts をアンインストールして、 /usr/local の下にあるファイルを全部削除して (いざとなれば自分でどこかに代替ディレクトリィを作れるだろう)、 普通にインストールした。
こうやってインストール |
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
Ruby のスクリプトを URL で指定して、それを実行するわけか。
brew doctor |
これまで MacPorts で入れたものを Homebrew で入れてみる。
brew install wget brew install nkf brew install lha brew install lv brew install gv brew install netpbm brew install ImageMagick --with-x11 brew install gnuplot |
Emacs はむしろ簡単なんだっけ?
brew tap railwaycat/emacsmacport brew install emacs-mac brew linkapps |
rsync -av /Applications/Emacs25.1.app/Contents/Resources/site-lisp/なんとか \ /usr/local/share/emacs/site-lisp |
/usr/local の下に Homebrew 関係でないものは何も置けない、 というわけではないみたい。
ffmpeg とか xpdf はどうしようか (他のものと関係するので少し調査してから)。
gcc とか gfortran はどうしようかな。 普通に brew install 何某 で良いようだけど、 インストールされるバージョンは? -- 今だと version 6 みたい (MacPorts だとバージョンを指定しないといけない, gcc49, gcc5, gcc6, gcc7 とか)。
Eigen はどこにおこうかな。 brew install eigen で良い、という説がある。 何をするんだろう?(やってみたら、/usr/local/include/eigen3 の下 に Eigen とか置いてある。 うーん、、、ちょっとずつ趣味がずれているなあ。)
GLSC はどこに置こうかな。 これはさすがに Homebrew でインストールされないのか。 されるようにしてしまう、というのもあるかな。 それとも、上山先生流でホームディレクトリィの下?
Octave をやってみよう。
brew install octave としたら、それじゃダメだと言われた。
brew install homebrew/science/octave |
emacs, octave という自分にとっての厄介系がすんなり行ったのは好印象だ。 ついでに gcc, gfortran 入ってしまった。
しばらくは MacPorts Mac と Homebrew Mac、両方使って比べてみよう。
(2017/3/17) 自分でインストールしたものを Homebrew に認めさせるにはどうすれば良いか、 大体理解できた。/usr/local の下に置くものを /usr/local/Cellar/ソフトの名前/バージョン番号 の下に置き、
brew link ソフトの名前 |
例えば glsc-3.5.a の場合は、 普通は /usr/local/bin/g_out, /usr/local/includ/glsc.h, /usr/local/includ/glsc_fnt.h, /usr/local/lib/libglscd.a, /usr/local/lib/libglscs.a をインストールする。
mkdir -p /usr/local/Cellar/glsc/3.5.a/{bin,include,lib} for i in bin/g_out include/glsc.h include/glsc_ftn.h lib/libglscd.a \ lib/libglscs.a do mv /usr/local/$i /usr/local/Cellar/glsc/3.5.a/$i done |
brew link glsc |
(2016/3/17) ghostscript で日本語の表示が出来なかった。 「Ryumin-Light を使う部分が化ける」という良くあるやつだ。 今時 Ryumin-Light を使おうとするソフトを使う方が悪いのかもしれない。 面倒だったので、 自分で /usr/local/share/ghostscript/9.20/Resource/{Font,CIDFont} をいじった。それについては brew doctor は文句を言わなかった (/usr/local/share/ghostscript 自体がシンボリックリンクであるせいかな?)。
Ghostscript どころか PostScript も、 そろそろ「デフォールトで他人には教えない」ものになるのかな。 (何でも PostScript で出力する癖が抜けないけれど、 その辺も見直す必要があるのかもしれない。)
桂田 祐史