«Не удалось найти действительный драгоценный камень ни в одном хранилище» (rubygame и другие) - PullRequest
58 голосов
/ 01 апреля 2012

Я пытался установить этот драгоценный камень 'rubygame' в течение некоторого времени, но всякий раз, когда я использую команду

gem install rubygame

, он выдаст ошибку:

ERROR:  Could not find a valid gem 'rubygame' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: Connection timed out - connect(2) (http://rubygems.org/latest_specs.4.8.gz)

IТакже пробовал другие драгоценные камни, но с похожими результатами:

ERROR:  Could not find a valid gem 'rake' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: Connection timed out - connect(2) (http://rubygems.org/latest_specs.4.8.gz)

Я уже удостоверился, что у меня есть подключение к Интернету, и уже попытался переустановить как ruby, так и rubygems (в настоящее время используется ruby ​​1.8, rubygems 1.7.2).Гугл мне совсем не помог.Буду очень признателен, если кто-нибудь сможет решить мою проблему.Мой список источников показывает только http://rubygems.org

Ответы [ 17 ]

71 голосов
/ 01 апреля 2012

Проверьте, есть ли у вас источник * https://rubygems.org/" для поиска драгоценных камней по адресу:

$ gem sources
*** CURRENT SOURCES ***

https://rubygems.org/

Если нет, вы сможете добавить его с помощью

$ gem sources --add https://rubygems.org/
https://rubygems.org/ added to sources

Здесь - документы для команды gem source.

47 голосов
/ 05 августа 2013

Вы также можете добавить нужный источник в команду всякий раз, когда у вас возникают проблемы с использованием https, например:

gem install GEMNAME --source http://rubygems.org

Хотя лучше исправить проблему с SSL.

26 голосов
/ 21 июня 2012

вы поддерживаете какой-либо прокси-сервер?

проверьте свой браузер на наличие прокси-сервера, который вы можете использовать:

выполните команду: gem install xxx --http-proxy=http://user:password@server, и вы должны быть в порядке.

24 голосов
/ 01 апреля 2012

У вас нет подключения к Интернету rubygems.org.

Это иногда случается, если сайт не работает или заблокирован.

Эта команда может показать вам, есть ли у вашего соединения доступ к rubygems.org:

.
traceroute rubygems.org
10 голосов
/ 07 июня 2012

Может быть, вам стоит попробовать

gem list -r

тогда

gem install -r rubygame

Также обратите внимание, что с rvm на MacosX (в моем случае Lion) вы должны установить ruby-1.9.3-p194 (из соображений компилятора Xcode 4.x), а затем

rvm rubygems current

и в моем случае мне пришлось использовать

rvm use ruby-1.9.3-p194@global

(который содержит bundler, rake, rubygems-bundler и rvm)

а не

rvm use ruby-1.9.3-p194

(который пуст)

8 голосов
/ 24 декабря 2013

Я исправил эту проблему с помощью опции прокси-команды gem install. Он имеет следующий формат:

$ gem install --http-proxy http://201.187.107.19:8080 rubygame

Обратите внимание, что IP-адрес и номер порта относятся к прокси. Вы должны найти список прокси и использовать один из прокси там.

Это сайт с прокси: http://www.cybersyndrome.net/pla5.html

Кроме того, я должен попробовать 7 или 8 различных прокси, чтобы добиться успеха. Не сдавайся.

8 голосов
/ 01 апреля 2012

Можете ли вы опубликовать свои версии?

ruby -v
#=> ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]

gem -v
#=> 1.8.19

Если ваша команда gem не является текущей, вы можете обновить ее следующим образом:

gem update --system

Чтобы узнать, можете ли вы подключиться к rubygems.org с помощью Ruby:

require 'net/http'
require 'uri'
puts Net::HTTP.get URI.parse('https://rubygems.org')

Если да, это хорошо.

Если нет, то каким-то образом Ruby заблокирован от открытия сетевого соединения. Попробуйте это и посмотрите, работает ли какой-либо из них:

curl https://rubygems.org

curl https://rubygems.org --local-port 1080

curl https://rubygems.org --local-port 8080

env | grep -i proxy

Если вы используете компьютер компании, или внутри корпоративного брандмауэра, или используете свой собственный брандмауэр, вам может понадобиться прокси.

Информацию о Ruby и прокси см. http://www.linux -support.com / CMS / HTTP-прокси-и-рубиновый /


3 голосов
/ 19 февраля 2018

Использование:

gem sources --add http://rubygems.org/

Хотите добавить этот небезопасный источник?[yn] [ДА]

затем используйте

gem install sass

и готово

3 голосов
/ 29 апреля 2013

Я знаю, что это немного поздно, но у меня тоже была эта проблема некоторое время назад.Вот что сработало для меня:

REALLY_GEM_UPDATE_SYSTEM=1 
sudo gem update --system
sudo gem install rails

Надеюсь, это поможет кому-то еще, имеющему эту проблему:)

2 голосов
/ 13 февраля 2017

Я испробовал большинство предложенных здесь решений, но мне не повезло. Я нашел подходящее мне решение, которое вручную обновляло gemfile до 2.6.7. Руководство о том, как это сделать, находится на сайте guides.rubygems.org: Установка-использование-Обновление-пакетов

Скачать rubygems-update-2.6.7.gem на свой C: \

Теперь, используя вашу командную строку:

C:\>gem install --local C:\rubygems-update-2.6.7.gem
C:\>update_rubygems --no-ri --no-rdoc 

После этого gem --version должен сообщить о новой версии обновления (2.6.7).

Теперь вы можете безопасно удалить gem rubygems-update:

C:\>gem uninstall rubygems-update -x
Removing update_rubygems
Successfully uninstalled rubygems-update-2.6.7

Причина, по которой это раньше не работало, заключалась в том, что сервер использовал сертификаты SHA-1, теперь это было обновлено до SHA-2.

...