安装rake(10.1.0)时发生错误,Bundler无法继续

时间:2013-08-21 19:45:31

标签: ruby-on-rails utf-8 locale

今天我重新安装了我的Mac,我也不得不重新安装导轨等。现在我已经正确设置了所有内容(至少我希望如此),但我一直遇到一个非常恼人的错误。

$ 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”会解决问题,但事实并非如此。我已经遵循了这个blog post,但它也没有解决我的问题,因为“/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来“解决”这个问题。我知道这不是问题的解决方案,但现在确实有效。

6 个答案:

答案 0 :(得分:23)

您应首先更新Rubygems:

gem update --system

然后更新Bundler:

gem install bundler

来源:NoMethodError: private method `open' called for Gem::Package:Class An error occurred while installing rake (10.0.3), and Bundler cannot continue

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

我们需要下载AddTrustExternalCARoot-2048.pem

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

重要提示:文件必须以.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 \ ruby​​gems 这将在我们指示的目录中打开一个资源管理器窗口。

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

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

它将与其他文件一起列出,例如GeoTrustGlobalCA.pem。

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

答案 3 :(得分:0)

我在迈克尔·哈特尔(Michael Hartl)学习rails tutorial 4时遇到了同样的问题。

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

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

答案 4 :(得分: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"

问题解决了。

答案 5 :(得分:0)

在我的Gemfile中为gem添加tag标志,但不确定原因。