2009-05-22 3 views
2

(名前はとして適用変更して)依存関係を持つすべての宝石のために、私は次を得る:Rubygems(1.3.3)に本当に依存関係をインストールしてほしいと納得させるにはどうすればいいですか?

試み1:

sudo gem install mojombo-jekyll -s http://gems.github.com/ 
ERROR: Error installing mojombo-jekyll: 
     mojombo-jekyll requires RedCloth (= 4.1.0, runtime) 

試み2:

sudo gem install mojombo-jekyll -s http://gems.github.com/ -y 
INFO: `gem install -y` is now default and will be removed 
INFO: use --ignore-dependencies to install only the gems you list 
ERROR: Error installing mojombo-jekyll: 
     mojombo-jekyll requires RedCloth (= 4.1.0, runtime) 

試み3:

sudo gem install mojombo-jekyll -s http://gems.github.com/ --include-dependencies 
INFO: `gem install -y` is now default and will be removed 
INFO: use --ignore-dependencies to install only the gems you list 
ERROR: Error installing mojombo-jekyll: 
     mojombo-jekyll requires RedCloth (= 4.1.0, runtime) 

答えて

2

問題は依存関係ではなく、ソースに関連しています。 '-s'オプションを指定すると、rubygemsはそのソースのみを使用します。

sudoの宝石は、これはのRubyForgeとgithubの両方を使用するようにRubyGemsを教えてくれますmojombo-ジキル-s http://gems.github.com/ -s http://gems.rubyforge.org

をインストール

。 ほとんどの人は、毎回手動で行うのではなく、環境に宝石ソースを追加するというアプローチをとる傾向があります。

+0

実際、私の.gemrcにこれらのソースが設定されています。問題は、イントラネットを最初にセットアップして、その時点でイントラネットにいなければRubygemsが死んでしまうため、通常は--sourceを指定します。彼らは繰り返すことを認識していませんでした! –

0

私はそれがに関連していると信じています。 210。特に:

を宝石fooが宝石バー(任意の バージョン)に依存している場合、その後もFOOをインストール は、その依存関係のバーをインストールします。私はそれが起こるとき を絞り込んだと思ういくつかのテストの後

gem fooがbar 1.0に依存し、bar 1.0が最新バージョンである場合、fooをインストールするとbar 1.0もインストールされます。

gem fooがバー1.0に依存していて、バー 1.1もリモートリポジトリに存在する場合、gem installはバー1.1 を見つけ、bar 1.0が見つからないと訴えます。

RedCloth 4.1.0は古いバージョンです。あなたの宝石にが固定されていると思われますが、4.130にはの依存関係がありますが、4.19は最新バージョンですので、不一致が発生しています。

3

RedCloth gemの4.1.0バージョンを先にインストールしてみてください。

sudo gem install RedCloth -v 4.1.0 

次にmojombo-jekyll gemをインストールします。

sudo gem install mojombo-jekyll -s http://gems.github.com/ 
関連する問題