Как удалить удаленный источник из удаленных источников gem
Я добавил gemcutter.org в свои источники Rubygems, и теперь я не знаю, как его удалить.
$ gem sources
*** CURRENT SOURCES ***
http://gemcutter.org
http://gems.rubyforge.org/
Ответ 1
$ gem sources -r http://gemcutter.org
http://gemcutter.org removed from sources
$ gem sources
*** CURRENT SOURCES ***
http://gems.rubyforge.org/
Ответ 2
В общем случае синтаксис можно найти с помощью
gem help *command*
Итак, это показывает необходимые параметры:
gem help sources
Ответ 3
Но что, если проблема в том, что источник по умолчанию заставляет gem install зависать на несвязанных системах? (Вы считаете, что это невозможно?!?) Если вы запустите команду, предоставленную самым популярным ответом, и это произойдет:
# gem sources -r https://rubygems.org
source https://rubygems.org not present in cache
Затем, чтобы справиться с этой ситуацией, вы должны изменить исходную ситуацию:
sed -i '/[[:space:]]def self\.default_sources/a return []' \
$RUBYGEMS_DIR/rubygems/defaults.rb
Это добавляет строку кода, а именно return [], чтобы вернуть пустой массив после метода, который возвращает "источники по умолчанию". Запустите gem environment, и вы не увидите неприятных удаленных источников. Теперь вы можете вернуться и отменить команду sed или вручную добавить репозиторий rubygems или что-то еще.