zshをホーム下にコンパイルしてみるの巻【追記あり】
普段使っているサーバーのシェルをzshにしてみたのだけど
あれ、なんだか日本語表記がおかしい。
使ってるmacではちゃんと動くのに、
マルチバイト文字を使うとtab補完がバグるぞ。あれ、なんで?
これはどうやらzshのバージョンが古いから起こるそうで。
とりあえず調べてみた!
$ zsh --version
やっぱりサーバーのzshが古い!
というわけで、zshを新しくするのです!
yum が使える環境なら
$ yum install zsh
で一発OK、問題ないらしいが、しかし。
今回は管理者権限がないので役立たずでした…オウフ
というわけで、zshをホームディレクトリに一からコンパイルするのです!おー!
参考にしたのはこのサイト♪
CentOSにzshをインストール - デラエモン、カイハツニッキ
1)ダウンロード
まず、最新版をダウンロード
(最新版はここをcheck zsh - Browse /zsh-dev at SourceForge.net)
嘘です。最新版はこっちです。5.0.0でした。ZSH - Source download
$ wget http://sourceforge.net/projects/zsh/files/zsh/5.0.0/zsh-5.0.0.tar.gz/download
2)解凍
次に、ファイルを解凍
$ tar xvzf zsh-5.0.0.tar.gz
3)コンパイル
いよいよコンパイル。緊張。
$ cd zsh-5.0.0 $ ./configure $ make $ make install
落としてきたファイルの中に移動するのを忘れずに!不幸を背負うみたいですよ。
んで、あとは打ってひたすら待つのみ。あら簡単!
とか思ってたら make install でエラーががが。
そう甘くはないわけです。
エラーを見てみると「権限がありません」と。
そりゃそうだ、rootになれないんだから。私はなにをしてるんだ。
んでググッた結果、このあたりのサイトがヒット!
LPM: Local Package Manager
Vimをコンパイルしたよ - 四角革命前夜
なるほど、configureのときにpathも指定しちゃうのね。
私の環境に合わせて書くとこんな感じ(ほとんど一緒)
$ ./configure --prefix=$HOME/local --enable-multibyte --enable-locale $ make $ make install
!補足! --enable-multibyte マルチバイト対応 --enable-locale 多言語対応、なんとなく入れてみた
ふむふむ。
というわけでもっかい configure からやり直し。
おっ今度はきれいに通ったぞ♪
さあ!これでやっと新しい zsh が使えるぞー!と思ったら。
バージョンを確認したところさっきと同じ古いまま!なぜ!why!
そりゃそうやん。パス通ってないし。
4)パスを通す
.zshrcの中に書いてあるPATHを configure のときに指定したパスに変更
export PATH=${HOME}/local/bin:${PATH}
これでおーけー!
${PATH}をコロンの左に書いたりしちゃってすごく苦戦したのだけど
twitterで助けてもらいました♪ありがとー!
そしてドキドキのバージョン確認。
ちゃーんと最新のになってましたー!やふー♪
追記:
コードもろもろに不備があったのを修正しましたー(´;ω;`)すみません
あとあと!ログインシェルを変更するのを忘れてました!
これしとかないと毎回コマンドでzsh打たないといけなくなっちゃう!めんどい!