nokogiri を入れるために 延長戦
前回の日記
nokogiri を入れるために - Je m'appelle "Koznyan"
で
nokogiriが無事に入ったよ、試合終了!
となったのだが、これで戦いは終わっていなかった。
というか、続きの方がやっかいだった。なので整理しつつ説明を追加する。
今回もlibiconvが入らない所からスタート
libiconv is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
なんかいろいろやっているとlibiconvは入ったよう・・
そこで前回の最後の部分をやってみるのだがうまくいかない。
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
libiconvのバージョンが前回とは違うことに気づいてそっちでやってみても効果なし。
今回、使っているアカウントには実は管理者権限がない、というか自分しかユーザーがいないのにルートユーザーじゃないってどういうこと?ルートのグループかなにかには入っているようなんだけど、そのへんがよくわからない。
そして通してるPATHが長い
【Ruby2.0.0 or 1.9.3 on Rails4.0】 Nokogiri 1.6.0 インストールできない?! - TACATAKATACA BLOG
この記事をもとにして
$ printenv
して調べたところ、
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/UserNAME/.rvm/bin
となってる。記事と同じようにPATH繰り返して通っていないか。。。?
ということで
$PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/Users/UserNAME/.rvm/bin
としてPATHを再設定。 あと
$ sudo chown -R root /usr/local
を実行して権限を管理者に移しておいた。自分が管理者ではない、かつファイルの所有者は自分?けっこうねじれてる。。。
PATH周りが少し整理されたようなのにまだエラーが出る。
できる人に聞いたところ
「brew unlinkしました?」
?!
はい、してません m(_ _)m
「brew doctorしました?」
あ、それもごにょごにょ。。。。
$brew cleanup
でHomebrewを入れ直し
$brew unlink libxml2 libxslt
が成功したので今度こそgem install nokogiri・・・〜〜をやってみる。
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
エラーです。まだダメ、しぶとい。。
ここまでruby入れたりするのにrvmを使っていたが、デキル人に質問したりしているうちにrbenvに乗り換えてやってみることにした。
それを準備する際にshellのprofileを見ようとして(?)ターミナルを再起動したら
デフォルトのbashからzshに変わってた。。。まあいいか。
Ruby - Mountain Lion環境への「rbenv」のインストール手順 + 設定方法 - Qiita
【初心者向け】ゼロからrailsアプリを動かすまでの手順 - Qiita
上記の記事を参考にrbenvを入れてそれをもとにrubyを入れる
$ rbenv rehash
の部分を忘れそう
$which ruby
$which gem
をしてそれぞれ
~~/.rbenv/shims/ruby
~~/.rbenv/shims/gem
となっていたら成功のはず。これをやってruby2.0.0 p-481をインストール。
この後
$gem install nokogiri
をしたら入りました。
<番外編>
たぶん途中、
bundle install したら
ruby-2.0.0-p481 is not installed. To install do: 'rvm install ruby-2.0.0-p481'
と言われてしまってどうしようってなった。
とりあえず、
$printenv
をして環境を見てみる。
TMPDIR=/var/folders/9p/93_ftk9s23b0y2mlp70w8fmw0000gn/T/
__CHECKFIX1436934=1
Apple_PubSub_Socket_Render=/tmp/launch-soKdAJ/Render
TERM_PROGRAM_VERSION=326
LANG=ja_JP.UTF-8......
などなどズラーッと出てくる。そこで次のようにコマンド入れてみる。
export ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future
通ったら
$brew update
する。これで今度
$bundle install
とすると今回は無事に
Your bundle is complete!
Gems in the group production were not installed.
となって通った。