对于任何具有依赖关系的gem,我得到以下内容(名称已更改):
尝试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)
答案 0 :(得分:3)
首先尝试安装4.1.0版本的RedCloth gem。
sudo gem install RedCloth -v 4.1.0
然后安装mojombo-jekyll gem。
sudo gem install mojombo-jekyll -s http://gems.github.com/
答案 1 :(得分:2)
问题不是依赖关系,而是源相关。 如果指定'-s'选项,rubygems将仅使用该源或源。
sudo gem install mojombo-jekyll -s http://gems.github.com/ -s http://gems.rubyforge.org
这将告诉rubygems同时使用rubyforge和github。 大多数人倾向于采用将gem源添加到其环境中的方法,而不是每次都手动执行。
答案 2 :(得分:0)
我认为这与this bug有关。特别:
经过一些测试,我认为我缩小了 它何时发生:如果宝石foo依赖于宝石吧(任何 版本)然后安装foo 安装其依赖栏。
如果gem foo依赖于条形1.0和条形图 1.0是最新版本,然后安装foo也会安装吧1.0。
如果gem foo依赖于1.0,但是吧 1.1也存在于远程存储库中,gem install查找栏1.1 并抱怨栏1.0缺失。
RedCloth 4.1.0是一个古老的版本。您的gem似乎对4.1.0具有固定依赖关系,但4.19是最新版本,因此发生了不匹配。