今天我重新安装了我的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来“解决”这个问题。我知道这不是问题的解决方案,但现在确实有效。
答案 0 :(得分:23)
您应首先更新Rubygems:
gem update --system
然后更新Bundler:
gem install bundler
答案 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 \ rubygems 这将在我们指示的目录中打开一个资源管理器窗口。
第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
标志,但不确定原因。