Ruby on rails 安装rake(10.1.0)时出错,Bundler无法继续

Ruby on rails 安装rake(10.1.0)时出错,Bundler无法继续,ruby-on-rails,utf-8,locale,Ruby On Rails,Utf 8,Locale,今天我重新安装了我的Mac电脑,还得重新安装rails等。现在我已经正确地设置了一切(至少我希望如此),但我一直遇到一个非常恼人的错误 $ bundle install Fetching gem metadata from https://rubygems.org/.......... Fetching gem metadata from https://rubygems.org/.. Resolving dependencies... ArgumentError: invalid byte

今天我重新安装了我的Mac电脑,还得重新安装rails等。现在我已经正确地设置了一切(至少我希望如此),但我一直遇到一个非常恼人的错误

$ bundle install
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...

ArgumentError: invalid byte sequence in UTF-8
An error occurred while installing rake (10.1.0), and Bundler cannot continue.
Make sure that `gem install rake -v '10.1.0'` succeeds before bundling.
现在我认为重新安装“rake”可以解决这个问题,但事实并非如此。我遵循了这一点,但也没有解决我的问题,因为“/etc/path.d”文件夹中没有文件

因此,我尝试按照另一篇博文中的建议更改我的.bashrc文件。但这也没有成功

# .bashrc file
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

# Make sure the UTF-8 locale is set correctly
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
我还试图删除并重新安装rails,但这也没有解决问题。你们有什么建议吗


更新
通过移除RVM和Rails并使用RBenv,我能够“解决”这个问题。我知道这不是问题的解决方案,但现在它确实起作用了。

您应该首先更新Rubygems:

gem update --system
然后更新绑定器:

gem install bundler

来源:

我在学习迈克尔·哈特尔的rails教程4时遇到了同样的问题

我尝试将安装捆绑在我的旧版本“sample_app_rails_4”中,而我刚刚将rails更新为4.0.1版


我通过git克隆最新版本“sample\u app\u rails\u 4”解决了这个问题。

我在windows机器上遇到了类似的问题。问题是证书需要更新。检查这个-

我在Windows计算机上开发时遇到了这个问题。SSL证书需要更新,这可以通过以下步骤完成:

步骤1:获取新的信任证书

我们需要下载

使用上面的链接,并将此文件放置/保存在以后可以轻松找到的位置(例如,您的桌面)

重要提示:文件扩展名必须为.pem。Chrome等浏览器将尝试将其保存为纯文本文件。确保在下载文件后将文件名更改为包含.pem

步骤2:在安装中找到RubyGems证书目录

为了让我们复制这个文件,我们需要知道把它放在哪里

根据安装Ruby的位置,目录会有所不同

以Ruby 2.1.5的默认安装为例,它位于C:\Ruby21中

打开命令提示符并键入:

C:>rubygems的宝石 C:/Ruby21/lib/ruby/2.1.0/rubygems.rb 现在,让我们找到那个目录。在同一窗口中,输入文件扩展名之前的路径部分,但改用反斜杠:

C:>启动C:\Ruby21\lib\ruby\2.1.0\rubygems 这将在我们指定的目录中打开一个资源管理器窗口

步骤3:复制新的信任证书

现在,找到ssl_certs目录并复制我们从前面步骤中获得的.pem文件

它将与GeoTrustGlobalCA.pem等其他文件一起列出


感谢这个链接提供了我需要的信息:

非常重要,因为这不是错误,只是警告,所以根本没有问题。 请转到
C:\RailsInstaller\Ruby2.1.0\lib\ruby\2.1.0\dl.rb

意思是说查找
dl.rb
然后找到
警告“DL已弃用,请使用FIDLE”
并将
#
放在这一行之前,表示做出此注释,并将其变为

#warn "DL is deprecated, please use Fiddle"

问题已解决。

标记添加到Gemfile中的gem已修复为我,但不确定原因。

gem是否自行成功安装rake-v'10.1.0'
是的。尽管成功需要sudo。不知道或者这可能是问题所在?这是答案将您的
Gemfile
第1行更改为
source'http://rubygems.org“
(删除s for http)事件,如果该链接具有解决方案,请在答案中包括最重要的几点。要点并不多——证书需要下载并存储在某个地方(例如RailsInstaller文件夹),并设置一个环境变量指向它。下面是另一篇GitHub文章讨论它@JaiKumarRajput对于代码、文件名、错误和其他类似工件的代码,请不要使用粗体文本,而是使用
反勾(`)
进行转义。请参阅帮助中心的。
#warn "DL is deprecated, please use Fiddle"