tdiary / tdiary-contrib

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

tdiary-core で Gemfile.local に tdiary-contrib の master ブランチを指定したときの bundle install のエラー #122

Closed minimum2scp closed 9 years ago

minimum2scp commented 9 years ago

tdiary-core を git clone で最新の master ブランチを取得して、 Gemfile.local に tdiary-contrib を github で指定(つまり最新の master ブランチを指定)して使おうとしたのですが、 bundle install が以下のようにエラーメッセージを出していて、少し面倒なことになっています。

% git clone -q git://github.com/tdiary/tdiary-core.git
% cd tdiary-core
% mkdir -p vendor/bundle
% echo "gem 'tdiary-contrib', github: 'tdiary/tdiary-contrib'" > Gemfile.local
% bundle install --path=vendor/bundle --jobs=4
Fetching git://github.com/tdiary/tdiary-contrib.git
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
Bundler could not find compatible versions for gem "rest-client":
  In snapshot (Gemfile.lock):
    rest-client (= 1.8.0)

  In Gemfile:
    coveralls (~> 0.7.12) ruby depends on
      rest-client (< 2, >= 1.6.8) ruby

    tdiary-contrib (>= 0) ruby depends on
      ruby-pushbullet (>= 0) ruby depends on
        rest-client (~> 1.7.2) ruby

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

エラーメッセージにある通り bundle update 、もしくは bundle update rest-client を実行すると インストールは成功しますが、ちょっと分からないユーザーも出てくるかもしれないので できれば12月の tdiary 4.2.1 リリースまでに対策しておいた方がいいのかな、と思い報告しました。

minimum2scp commented 9 years ago

ちなみに bundle update rest-client でインストール成功したあとの Gemfile.lock の差分は 以下のようになっていて、問題の rest-client は 1.8.0 から 1.7.2 になっています。

diff --git a/Gemfile.lock b/Gemfile.lock
index fb77dcd..be78fa5 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,3 +1,11 @@
+GIT
+  remote: git://github.com/tdiary/tdiary-contrib.git
+  revision: c5e3945d051bbb8151159cbc11878fea68c0d2fc
+  specs:
+    tdiary-contrib (4.2.0)
+      ruby-pushbullet
+      tdiary
+
 GEM
   remote: https://rubygems.org/
   specs:
@@ -40,13 +48,14 @@ GEM
       rack (>= 1.2.1)
       rake
     jasmine-core (2.3.4)
+    json (1.8.3)
     launchy (2.4.3)
       addressable (~> 2.3)
     libv8 (3.16.14.13)
     mail (2.6.3)
       mime-types (>= 1.16, < 3)
     method_source (0.8.2)
-    mime-types (2.6.2)
+    mime-types (2.99)
     mini_portile (0.6.2)
     multi_json (1.11.2)
     netrc (0.11.0)
@@ -71,8 +80,7 @@ GEM
     rake (10.4.2)
     redcarpet (3.3.3)
     ref (2.0.0)
-    rest-client (1.8.0)
-      http-cookie (>= 1.0.2, < 2.0)
+    rest-client (1.7.3)
       mime-types (>= 1.16, < 3.0)
       netrc (~> 0.7)
     rspec (3.4.0)
@@ -88,6 +96,9 @@ GEM
       diff-lcs (>= 1.2.0, < 2.0)
       rspec-support (~> 3.4.0)
     rspec-support (3.4.0)
+    ruby-pushbullet (0.1.3)
+      json
+      rest-client (~> 1.7.2)
     rubyzip (1.1.7)
     selenium-webdriver (2.48.1)
       childprocess (~> 0.5)
@@ -104,6 +115,9 @@ GEM
     sprockets (3.4.0)
       rack (> 1, < 3)
     sqlite3 (1.3.11)
+    tdiary (4.2.0)
+      bundler (~> 1.3)
+      thor (~> 0.18)
     term-ansicolor (1.3.2)
       tins (~> 1.0)
     test-unit (3.1.5)
@@ -145,6 +159,7 @@ DEPENDENCIES
   simplecov
   sprockets
   sqlite3
+  tdiary-contrib!
   test-unit
   therubyracer
tdtds commented 9 years ago

先日くわえたruby-pushbulletがrest-client 1.7.2を指定してるんですね。うーん、coreのrest-clientに制約をつけるのも変な話だしなぁ。ここはpushbulletにパッチを送るのが正しい策ですかね……。

tdtds commented 9 years ago

letz/ruby-pushbullet/pull/4

machu commented 9 years ago

:sushi:

satoryu commented 9 years ago

:beers:

minimum2scp commented 9 years ago

もう修正されてる、早い! bundle update しなくても良くなったことを確認しました。 ありがとうございます!