49544


『プロを目指す人のためのRuby入門』に取り組んでいます。  
「3-2 Minitestの基本」の箇所で、以下のようにテストコードを書いた`sample_test.rb`ファイルを作成しました。

[code]

    require 'minitest/autorun'
    
    class SampleTest < Minitest::Test
      def test_sample
        assert_equal 'RUBY', 'ruby'.upcase
      end
    end
    
[/code]

ここで`ruby smaple_test.rb`を実行すると、

.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/specification.rb:2293:in
`raise_if_conflicts': Unable to activate railties-5.1.4, because  
activesupport-5.1.6 conflicts with activesupport (= 5.1.4)  
(Gem::ConflictError)

というエラーが発生してしまいます。

このサイト上で既に同じような質問がされており（[Ruby test
raise_if_conflictsのエラーについて](https://ja.stackoverflow.com/questions/39962/ruby-
test-raise-if-
conflicts%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)）、著者さんがbundlerを用いた解決策を提案していたのでbundlerを試してみたのですが、`gem
'minitest'`の所で失敗してしまいます。

[code]

    gem install bundler
    →Fetching: bundler-1.16.6.gem (100%)
    Successfully installed bundler-1.16.6
    Parsing documentation for bundler-1.16.6
    Installing ri documentation for bundler-1.16.6
    Done installing documentation for bundler after 6 seconds
    1 gem installed
    
    bundle init
    →Writing new Gemfile to /Users/****/Desktop/ruby-book/lib/Gemfile
    
    gem 'minitest'
    →ERROR:  While executing gem ... (Gem::CommandLineError)
    Unknown command minitest
    
[/code]

ご回答、よろしくお願い致します。


CC BY-SA 4.0
2018-10-22T10:15:41.370
49530
2018-10-22T22:20:22.410
30629
question
ruby rubygems bundler
Minitestでのエラー


著者の伊藤です。「プロを目指す人のためのRuby入門」のご購入どうもありがとうございます。

さて、ご質問の件ですが、 [Ruby test
raise_if_conflictsのエラーについて](https://ja.stackoverflow.com/questions/39962/)
の回答に書いた、

[code]

    # Edit Gemfile
    gem 'minitest'
    
[/code]

の部分は、コメントの「Edit Gemfile（Gemfileを編集する）」にあるとおり、`bundle
init`で生成されたGemfileを開いてその中身に`gem 'minitest'`を記述する、という意味です。

BundlerやGemfileについては本書の12.8.2項でも説明しているので、先にこちらに目を通しておくと良いかもしれません。

なお、この問題は新しいバージョンのRailsをインストールすることによっても解決します。  
詳しくは以下の記事をご覧ください。

[「プロを目指す人のためのRuby入門」でテスト失敗時に実行結果が正常に表示されない場合 -
Qiita](https://qiita.com/jnchito/items/1e928f8088b2cc6bd3fa)


CC BY-SA 4.0
2018-10-22T22:13:44.527
49544
2018-10-22T22:20:22.410
2018-10-22T22:20:22.410
85
85
49530
answer