9

今天我重新安装了我的 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/paths.d”文件夹中没有文件。

$ ls -a /etc/paths.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 来“解决”这个问题。我知道这不是问题的解决方案,但现在它确实有效。

4

6 回答 6

24

您应该首先更新 Rubygems:

gem update --system

然后更新 Bundler:

gem install bundler

来源:NoMethodError:为 Gem::Package:Class 调用私有方法 `open' 安装 rake (10.0.3) 时发生错误,并且 Bundler 无法继续

于 2013-08-25T21:22:51.897 回答
1

我在 Windows 机器上遇到了类似的问题。那么问题是证书需要更新。看看这个 - https://gist.github.com/luislavena/f064211759ee0f806c88

于 2015-03-30T18:22:20.003 回答
1

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

第一步:获取新的信任证书

我们需要下载AddTrustExternalCARoot-2048.pem

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

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

第 2 步:在您的安装中找到 RubyGems 证书目录

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

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

以Ruby 2.1.5的默认安装为例,放在C:\Ruby21

打开命令提示符并输入:

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

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

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

现在,找到 ssl_certs 目录并将我们从上一步中获得的 .pem 文件复制到里面。

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

感谢此链接提供我需要的信息:https ://gist.github.com/luislavena/f064211759ee0f806c88

于 2015-05-05T20:03:24.010 回答
0

我在学习 Michael Hartl 的 Rails 教程 4 时遇到了同样的问题。

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

我通过 git clone 最新版本“sample_app_rails_4”解决了这个问题。

于 2013-11-05T10:52:50.973 回答
0

tag在 Gemfile 中为我添加一个标志,但不知道为什么。

于 2016-05-19T00:17:13.160 回答
0

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

意思是说找到dl.rb 然后找到 warn "DL is deprecated, please use Fiddle" 并放置#在此行之前意味着做出此评论并成为

#warn "DL is deprecated, please use Fiddle"

问题解决了。

于 2016-02-12T13:35:00.667 回答