gem作ってる最中にrspec-core is not part of the bundle. Add it to Gemfile


Ruby gems

gem作り始めました。
新しい発見やrubyの仕組みをもっと深く知れて楽しいです。

今日は早速rspecでテストを書いてみようと思い
bundle exec spec コマンドをこまんどーしたところ。

/$BUNDLERのPATH/rubygems_integration.rb:256:in `block in replace_gem’: rspec-core is not part of the bundle. Add it to Gemfile. (Gem::LoadError)

とか言われまして。。こまんどー


Tumblr mjjj2aXZsi1qjotexo1 500

まず、bundle execの仕組みをちゃんと理解していないのでマズいんですけど、Railsの開発してた時の記憶ではbundlerで管理しているgemsを使ってコマンドを実行するという事だったはず。
メッセージ的に Add it to Gemfileって言ってるし。

ただ、よく分からなかったのが、他の人のgemを参考にするとGemfileには

source 'https://rubygems.org'

# Specify your gem's dependencies in gem_sample_pruby.gemspec
gemspec

としか書かれていないので、本当にGemfileに追記するのか??と疑問が。。

で、改めてgemの作り方を眺めてると
add_development_dependency の存在を発見。

(;´Д`)なんか見落としてた。。
どうも.gemspecのadd_development_dependencyの項目で開発時に使う関連gemを指定するらしい。

つーわけで、
spec.add_development_dependency “rspec”


と追記したところ bundle exec spec が通りましたとさ。

なお、開発時とか関係なく関連gemを明記する場所は
spec.add_dependency

ありがとうございました。

毎日勉強です!!( ー`дー´)

 

2014-12-18 | Posted in RubyNo Comments » 


関連記事

Comment





Comment



*