質問: Crawler::Amazon.new crawler.login ``` です。 Capybara?そんなものは知りませんよ。 というエラーだと解釈しました。 そのため、Capybaraを使えるようにすればいいと思って、 `$ gem install capybara` とすると ``` Fetching: rack-2.0.1.gem (100%) ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/2.1.0 directory. ``` 出ました。また、 `$ sudo gem install capybara` だと ``` ERROR: Error installing capybara: rack requires Ruby version >= 2.2.2. ``` となりました。 ここで行き詰まっております。 どのようにすれば`login.rb`を実行できるでしょうか? よろしくお願いします。 ### 補足情報 環境はUbuntu15.10です。 ``` $ gem list ``` 実行時 ``` *** LOCAL GEMS *** addressable (2.4.0) anemone (0.7.2) bigdecimal (1.2.4) fastri (0.3.1.1) io-console (0.4.3) jar_wrapper (0.1.8) json (1.8.1) mime-types (3.1) mime-types-data (3.2016.0521) mini_portile2 (2.1.0) minitest (4.7.5) nokogiri (1.6.8.1) phantomjs (2.1.1.0) psych (2.0.5) rake (10.1.0) rcodetools (0.8.5.0) rdoc (4.1.0) robotex (1.0.0) selenium (0.2.11) test-unit (2.1.8.0) websocket-driver (0.6.4 java) websocket-extensions (0.1.2) xpath (2.0.0) zip (2.0.2) ``` また、 ``` $ ruby -v ``` 実行時は ``` ruby 2.1.8p440 (2015-12-16 revision 53160) [x86_64-linux-gnu] ``` でした。 まとめ --- 1. プログラムを動作させたい 2. エラーが出て動かない原因・直し方を教えて欲しい 3. Capybaraがないの解釈で大丈夫か、そうだとしたらCapybaraの導入のやり方を教えて欲しい です。 余談 -- 1. 環境構築のやり方などを調べるが、大半がMacまたはWindows向けの設定の仕方が出てくる。Ubuntu等のリナックスで開発する際の注意点や常識をせっかくなのでこの際知りたい。(sudoをつけないといけないのを知らずに痛い目に遭ったため) 2. CapybaraやPoltergeiset等のライブラリがある等の情報を皆様はどのようにして仕入れているのか? 3. Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例のサンプルコードについて質問しているが、大丈夫か?
回答: ``` ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/2.1.0 directory. ``` を解消したいというのが質問でしょうか??? > > また、sudo gem installでやらないといけないのを知らずに > > ずっとgem install でやって1時間以上手を焼いていました(汗) > > > でも、と書いてあるので `sudo gem install websocket-driver` で解決したんだろうと想像して。 > > UNIX系での開発環境構築の際の流れ・常識等があれば教えていただけないでしょうか。 > > > こちらが質問ですかね? **開発環境構築の流れ・常識** は書こうと思えば1冊の本にできるほどあります。 そして既に多数の本になっておりますので、まずは本を読まれる事をお勧めいたします。 > > 説明不足等、至らぬ点満載なので指摘していただけましたら追記いたします。 > > > * 何を解決したいのか明確(具体的)にする * 解決するために自分が何を試したのかを明確(具体的)に情報提供する まずはこの2つを心掛けていただけると回答しやすいです。 ``` $ sudo gem install capybara ``` のところで先に進めないとの事ですので、まずはその解決案を。。。 ご存知かとは思いますが gem が他のgemに依存している事はよくあります。 `sudo gem install capybara` とすると **capybara** だけでなく依存するgemも一緒にinstallされます。 **apt-get install** と同じような感じです。 そして ``` ERROR: Error installing capybara: rack requires Ruby version >= 2.2.2. ``` というメッセージが出ています。これは**capybara**が依存する**rack**というgemをインストールしようとした際に **rack**がruby 2.2.2 以上を要求しているので今お使いのruby向けにはinstallできないとうメッセージです。 お使いのrubyは ``` ruby 2.1.8p440 (2015-12-16 revision 53160) [x86_64-linux-gnu] ``` と、いう事ですので capybara を使うにはまずrubyを2.2.2以上に上げる必要があります。 で、余談の部分ですが。。。 読んでおられる本は比較的rubyに慣れた人向けに書かれている本という印象を持っています。 開発環境の構築から詳しく書かれている本もあるはずです(最近その手の本を読んでいないので具体的に紹介できないのが申し訳ないですが。。。) ので、そういった本も見てみてはいかがでしょうか? > > CapybaraやPoltergeiset等のライブラリがある等の情報を皆様はどのようにして仕入れているのか? > > > 普段から技術系のblogなどを読む事で仕入れています。 最近は qiita というサイトが色々まとまっていて便利です。