Rubygemsソースにgemcutter.orgを追加しましたが、削除する方法がわかりません。
$ gem sources
*** CURRENT SOURCES ***
http://gemcutter.org
http://gems.rubyforge.org/
$ gem sources -r http://gemcutter.org
http://gemcutter.org removed from sources
$ gem sources
*** CURRENT SOURCES ***
http://gems.rubyforge.org/
一般に、構文は次のように見つけることができます
gem help *command*
したがって、これは必要なオプションを示しています。
gem help sources
しかし、デフォルトのソースが原因で、接続されていないシステムで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リポジトリなどを手動で追加できます。
編集:明確にし、一般化します。