Como posso convencer Rubygems (1.3.3) que eu realmente quero isso para instalar dependências?

StackOverflow https://stackoverflow.com/questions/896035

  •  23-08-2019
  •  | 
  •  

Pergunta

Para qualquer jóia que tem dependências, eu recebo o seguinte (com os nomes alterados conforme o caso):

Tentativa 1:

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

Tentativa 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)

Tentativa 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)
Foi útil?

Solução

O problema não é a dependência relacionados, mas fonte relacionada. Se você especificar a opção '-s', rubygems só vai usar essa fonte ou fontes.

sudo gem install mojombo-jekyll -s http://gems.github.com/ -s http://gems.rubyforge.org

Isto irá dizer rubygems usar tanto rubyforge e github. A maioria das pessoas tendem a tomar a abordagem de adicionar a fonte gem ao seu ambiente, em vez de fazê-lo manualmente de cada vez.

Outras dicas

Tente instalar a versão 4.1.0 de RedCloth gem em primeiro lugar.

sudo gem install RedCloth -v 4.1.0

Em seguida, instale gem mojombo-jekyll.

sudo gem install mojombo-jekyll -s http://gems.github.com/

Eu acredito que ele é relacionado à este bug . Particularmente:

Depois de alguns testes eu acho que estreitaram para baixo quando isso acontece:

Se gem foo depende bar gem (qualquer versão), em seguida, instalar foo também instala seu bar dependência.

Se gem foo depende bar 1.0 e bar 1.0 é a versão mais recente, em seguida, instalar foo também instala bar 1.0.

Se gem foo depende bar 1.0, mas bar 1.1 também existe no repositório remoto, gem install achados bar 1.1 e reclama que bar 1.0 está em falta.

RedCloth 4.1.0 é uma versão velhote. Parece que sua jóia tem um fixa dependência 4.1.0, mas 4,19 é a versão mais recente, por isso há uma incompatibilidade ocorrendo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top