MacOS XのPerlにTkモジュールを入れる。
ちょっといきなりだが、最近PerlにTkモジュールを入れるのに苦労したので、自分用の記録としてメモ。
2014年12月11日 追記:まず、こちらで試してみてください↓
http://note.mu/shigeruhanano/n/nffd51cfaca1a
まず、Perl
* 一応、Perlを全く使ったことのない人のために、
準備としてテキストエディターで
と書いて、hello.pl という名前をつけて保存。
MacOS Xには元々Perlが入っているのでターミナルを立ち上げる。
/Applications/Utilities/Terminal.app
アプリケーション > ユーティリティー > ターミナルをダブルクリックして、ターミナルを起動。
ターミナルで perl hello.plとタイプして、helloと表示されればOK。
(実際には、作業ディレクトリーを指定してあげないといけないので、デスクトップに保存してあるファイルを実行する場合には、ターミナルの$のあとに
$ perl /Users/ログインしているユーザー名/Desktop/hello.pl
とタイプする。
あるいは、perl とタイプした後に、デスクトップ上のhello.plファイルをドラッグする。
Perlの終了は、exit とタイプ。
$ exit
で、このままでPerlは使えるはずなのだが(実際普段は使えていたのだが)、先日Tkモジュールを入れようとしたら入らなかった。
どうやら、TkモジュールはActivePerlでないとうまくいかないようだ。
あと、XcodeとXQuartzも必要だとか。
というわけで、Xcode、XQuartz、ActivePerlをインストール。
Xcode は、以下のサイトのダウンロードから。
https://developer.apple.com/jp/xcode/
通常のApp Storeのインストール。
XQuartzは、以下のサイトのダウンロードから。
http://xquartz.macosforge.org/landing/
pkgを展開してインストール。
ActivePerlは、以下のサイトから。
http://www.activestate.com/activeperl
MacOS用の最新版をダウンロード。
pkgを展開してインストール。
インストール時にも表示されるが、OS Xの場合、ターミナル上でログインシェルのPATHを付加する。
(でないと、元々入っているPerlが動くので、ActivePerlはいつまでたっても動かない)
$ export PATH=/usr/local/ActivePerl-5.20/bin:$PATH
と打ち込む。
$ perl -v
とタイプして、
$ This is perl 5,…
(中略)
Binary build 2000 [298557] provided by ActiveState
http://www.ActiveState.com
Built Oct 15 2014 21:41:06
(略)
と表示されれば、ActivePerlが呼ばれている。
$の後ろに、sudo CPANとタイプ(以下、$ sudo CPAN)。
パスワードを聞かれるので、Macにログインする時のパスワードを入れる。
$ sudo CPAN
Passward:
ここでパスワードを入力した後、cpan> と表示されるので、install Bundle::CPAN とタイプ。
cpan> install Bundle::CPAN
(時間がかかる、途中でネットにつなぐけどいいかどうか聞いてくる)
install Tkとタイプして、Tkモジュールを入れる。
cpan> install Tk
(時間がかかる、途中でネットにつなぐけどいいかどうか聞いてくる)
終了。
cpan> q
でインストールされているはず…だったのだが、うまくいかなかった。
Tkモジュールが正常にインストールされたことの確認。
以下のの5行のファイルをテキストエディターで書いて、tk0.pl を作成。
tk0.plファイルをperlで実行する。
$ perl tk0.pl
何もerrorが出なければ、Ok
“Can't locate ... in @INC" とメッセージが出てきたら、Tkモジュールのインストールがうまくいっていない。
CPANに戻って、
$ sudo CPAN
Passward:
cpan> force install Tk
(時間がかかる、途中でネットにつなぐけどいいかどうか聞いてくる)
cpan> q
このままTkを使おうとすると、ラブラリーがないと言われるので、/opt/X11と、/usr/X11をリンク
$ sudo ln -s /opt/X11 /usr/X11
で、目的を達成。
Tkモジュールが必要なPerl scriptが動くようになりました。
この方法が一番いいのかどうかは不明だが(forceコマンドで強制インストールしてるし...)、とりあえずTkモジュールのインストールができたので、よかった。
この記事が気に入ったらサポートをしてみませんか?