tdiary / tdiary-contrib

tDiaryの非正規リポジトリ。どなたでもcommit可能です。commit権希望の方、まずはパッチ等をpull requestして下さい。
https://tdiary.org/
68 stars 46 forks source link

fixed error on `bundle install ... --deployment` #120

Closed minimum2scp closed 9 years ago

minimum2scp commented 9 years ago

Travis CI でのテストが失敗していました。 https://travis-ci.org/tdiary/tdiary-contrib/jobs/91990378#L98-L99

$ bundle install --jobs=3 --retry=3 --deployment --path=${BUNDLE_PATH:-vendor/bundle}
You are trying to install in deployment mode after changing
your Gemfile. Run `bundle install` elsewhere and add the
updated Gemfile.lock to version control.

You have deleted from the Gemfile:
* ruby-pushbullet

https://github.com/tdiary/tdiary-contrib/commit/7b1a8bd6132a949e01633f164d3070b2d311ee49 でruby-pushbullet を Gemfile から tdiary-contrib.gemspec に移動したときに、 Gemfile が tdiary-contrib.gemspec を読むようにしていなかったので、それからテストが失敗していたようです。

Gemfile で gemspec を読むようにして、Gemfile に書いていた gem はすべて tdiary-contrib.gemspec で書くように変更しました。

ついでに Ruby 2.2 でもテストするようにしました。

machu commented 9 years ago

ありがとうございます。tdiaryのバージョンを4.1としているのは、何か理由がありますか? Gemfileではなくtdiary-contrib.gemspecに依存ライブラリを指定するのは、tdiary-core側から呼ばれた時にも依存ライブラリをロードされるためでしょうか。

minimum2scp commented 9 years ago

Gemfile側で gem 'tdiary', '~> 4.1.0' と書かれていたので gemspec にもその指定を追加した、というだけです。 gemspec で書くのと Gemfile に書くのとでどう違うのかは正直あまり理解していなくて、 rake と tdiary に関してはもともと重複があったので gemspec 側に全部まとめる、ということをやってみたわけですが、 https://github.com/tdiary/tdiary-contrib/commit/6a4db8345fcf3503647dced9361a3fbea488c33a に関しては revert した方が 良いのかなあ、と思い直しているところです。

machu commented 9 years ago

調べてみました。gemライブラリの場合は依存関係を.gemspecに書いた方が良さそうですね。なので、このままでOKです。 http://qiita.com/metheglin/items/32fe6042fb0416e04359

tdiaryのバージョンが4.1.0のままになっているのは、4.2.0リリース時の更新もれでした。

machu commented 9 years ago

tdiaryのバージョンは.gemspec側で指定すると依存関係が厳密で窮屈になりそうなので、やっぱり指定しないことにします。過去にも 6dded4c42c548994cf41b17673bb50f542586908 でバージョン指定をやめた経緯がありました。

minimum2scp commented 9 years ago

ありがとうございます!