Como remover uma fonte remota a partir de fontes remotas gem
Pergunta
Eu adicionei gemcutter.org com minhas fontes Rubygems, e agora eu não sei como removê-lo.
$ gem sources
*** CURRENT SOURCES ***
http://gemcutter.org
http://gems.rubyforge.org/
Solução
$ gem sources -r http://gemcutter.org
http://gemcutter.org removed from sources
$ gem sources
*** CURRENT SOURCES ***
http://gems.rubyforge.org/
Outras dicas
Em geral, você pode encontrar a sintaxe com
gem help *command*
Então, isso mostra as opções necessárias:
gem help sources
Mas e se o problema é que a fonte padrão faz com gem install para pendurar em sistemas não-conectados? (Você acha que é impossível?!?) Se você executar o comando fornecido pela resposta mais popular, e isso acontece:
# gem sources -r https://rubygems.org
source https://rubygems.org not present in cache
Depois de lidar com esta situação, é necessário modificar fonte cringe :
sed -i '/[[:space:]]def self\.default_sources/a return []' \
$RUBYGEMS_DIR/rubygems/defaults.rb
Isso adiciona uma linha de código, ou seja, return []
para retornar um array vazio, após o método que retorna "fontes padrão". Execute gem environment
e você verá há fontes remotas desagradáveis. Agora você pode voltar atrás e desfazer o comando sed, ou adicionar manualmente os rubygems repo ou o que quer.
EDIT:. Esclarecer, generalizar