高専生です。見守ってください

クソカス初心者プログラマーの成長記

nokogiri gem と戦った

こんにちはJD.です。Ruby on rails を使ってwebサービスを開発したいのでまず勉強してます。

f:id:jtakuya625:20180701175033p:plain

 

今やってる事

この本を使って勉強を始めたところです。

 

たった1日で基本が身に付く!  Ruby on Rails 超入門

たった1日で基本が身に付く! Ruby on Rails 超入門

 

 ”1日で”に惹かれました。(おそらく僕の実力では1週間以上かかる)

 

困ってしまった事

rails new ”プロジェクト名”でrailsのプロジェクトを作るらしいのですが

なんかエラーが出たんですよ。

ちょっとよく覚えてないけど、「nokogiriのパーミッションがなんとか〜」みたいなエラー。

この時点で僕が把握していた事は

  • nokogiriはどうやらrailsのgemというものらしい
  • gemとはライブラリとその仕組みのことらしい(ちなみにライブラリがそもそもわからん)
  • nokogiriに関するエラーはそこそこみんなも経験しているらしい

 

解決する

こういう手順で解決してみました。(エラー解決の王道の手順とか知りたい)

ターミナル「nokogiriというgemがパーミッションのエラーを起こしてるよ」

僕 エラーメッセージコピペして検索、nokogiriに関するサイトはいっぱいあったけど良く分からん。

bundler updateをしたら治るかもねと書いてあったので、やろうとするけど、bundlerも良く分からんし、どこでそのコマンド打つねんって感じでした。これくらい分かるやろってのが分からんから初学者には難しいです。

とりあえず、rails new ”プロジェクト名”したディレクトリに移動して(移動くらいわかるやろ)

$ bundler update

すると

Errno::EACCES: Permission denied @ dir_s_mkdir -
/Users/username/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-16/2.5.0-static/nokogiri-1.8.3
An error occurred while installing nokogiri (1.8.3), and Bundler
cannot continue.
Make sure that `gem install nokogiri -v '1.8.3'` succeeds before bundling. 

と訳のわからないエラーが出ました。

「ははあ、パーミッションがdeniedなんだー、なるほどー??」ということでエラーメッセージをコピペして検索。

$ gem install nokogiri -v '1.8.3'

をしてnokogiriのインストールを試みるも、できない。

調べた結果

 nokogiriに関する権限が、自分じゃなくてrootになっているのがいけないという事がわかった。

こんな感じ

f:id:jtakuya625:20180701185409p:plain

$ chown -R username /Users/username/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-16/2.5.0-static

で権限を変えられるようです。

クソ馬鹿な僕は$ chown -R username 自分のユーザーネームを入力するという事に気付かず、数分混乱。だってわからんやん、普通。

しかし、それでもできない。あっ、sudoつけたらいけるんちゃう?

説明しよう、sudoとはなんかすごい力で強制的に命令が実行できちゃうコマンドのような感じのやつである。

$ sudo chown -R username /Users/username/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-16/2.5.0-static

権限が自分に移った!

$ gem install nokogiri -v '1.8.3'

Building native extensions. This could take a while...
Successfully installed nokogiri-1.8.3
Parsing documentation for nokogiri-1.8.3
Installing ri documentation for nokogiri-1.8.3
Done installing documentation for nokogiri after 10 seconds
1 gem installed

まとめ

できた!!