Ste*_*ven 30 ruby gem ruby-on-rails bundler railstutorial.org
我正在尝试遵循Hartl Rails教程,并且遇到捆绑器gem的问题.
当使用命令'bundle install'或'bundle update'时,我得到以下输出:
从https://rubygems.org/获取源索引
无法从https://rubygems.org/获取规格
我搜索了这个输出,但没有在网上找到很多相关问题.
也许我有另一个正在打断捆绑器的宝石?此时我对rails几乎没有经验.
source 'https://rubygems.org'
gem 'rails', '3.2.12'
group :development do
gem 'sqlite3', '1.3.5'
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '3.2.5'
gem 'coffee-rails', '3.2.2'
gem 'uglifier', '1.2.3'
end
gem 'jquery-rails', '2.0.2'
Run Code Online (Sandbox Code Playgroud)
我的解决方案分为两部分:我将https更改为http,这暂时解决了问题.第二个问题是我认为我安装了ruby 2.0.0,尽管我使用的是全新安装的ruby 1.9.3.所以我重新安装了ruby 2.0.0,我可以使用https捆绑安装.
小智 24
我遇到过同样的问题.我找到的唯一可行解决方案是在Gemfile中强制使用http而不是https:
source 'http://rubygems.org'
Run Code Online (Sandbox Code Playgroud)
小智 19
万一没有以上满足下一个勇敢的探险家的,我想我会放在此处后,我花了4个小时,在这里登陆我搜索的这种做变种,我终于发现,IPV6是罪魁祸首,找到后这关于help.rubygems.org的特定线程。解?这(Fedora,Linux):
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
Run Code Online (Sandbox Code Playgroud)
设置一个Shell脚本来打开和关闭IPV6,这样我就可以在没有该命令的情况下运行命令,现在一切都运行良好。
如果在Windows中,你可以尝试以下方法:
set HTTP_PROXY= <your proxy address without http://>
set HTTPS_PROXY=%HTTP_PROXY%
Run Code Online (Sandbox Code Playgroud)
例如:
HTTP_PROXY=mycompany.myproxy.com:8080
HTTPS_PROXY=%HTTP_PROXY%
Run Code Online (Sandbox Code Playgroud)
为我工作
它也可能是暂时的网络问题。尝试使用命令重新启动网络服务
service network restart
Run Code Online (Sandbox Code Playgroud)
如果它的 *nix 机器。
ruby-2.0.0-p247我在 OS X 10.8.5 上使用时遇到了同样的问题。
确保第一行Gemfile正在使用https://
source 'https://rubygems.org'
Run Code Online (Sandbox Code Playgroud)
我重新安装了那个版本的 ruby。
rvm reinstall ruby-2.0.0
Run Code Online (Sandbox Code Playgroud)
Ruby 已升级ruby-2.0.0-p598(版本取决于最新补丁)。
bundle尽管重新安装了所有宝石,但工作没有错误。
导致此类问题的另一个原因是您位于代理服务器后面。我在这里描述解决方案,也许对其他人有用。:)
如果您不知道代理的登录/密码,并遇到此问题,您可以首先通过命令检查是否需要(重新)安装任何内容:
C:\...> bundle check
Resolving dependencies...
The Gemfile's dependencies are satisfied
Run Code Online (Sandbox Code Playgroud)
如果您得到上述其他响应,您可以在此处 (rubygems.org)找到正确版本的正确 gem ,然后通过命令安装它(从下载 gem 的目录):
gem install <gem-name> --locally
Run Code Online (Sandbox Code Playgroud)