尝试使用非ascii字符执行string.encode("UTF-8")
时收到以下错误。
LoadError: dlopen(enc/trans/single_byte.so, 9): image not found - enc/trans/single_byte.so
与答案here不同,似乎此文件在我的ruby安装中或系统上的任何其他位置都不存在。我正在运行在Mac OSX 10.11.5上运行的ruby 2.1.7和bundler 1.10.6。我尝试重新安装ruby(使用RVM)但没有成功。
该文件是否存在,如果存在,我需要安装什么?
答案 0 :(得分:0)
我建议尝试使用chruby + ruby-install安装它。您可以使用ruby-install来安装任何您想要的Ruby版本,而chruby是一个用于在Ruby版本之间切换的小实用程序。
我已经看到RVM偶尔出现问题,并且使用ruby-install重新安装Ruby似乎可以解决这些问题。
我在这里有一个指南:http://ryanbigg.com/2015/06/mac-os-x-ruby-ruby-install-chruby-and-you/
以下是精简形式的步骤:
# Installs XCode development tools package
xcode-select --install
# Installs Homebrew (skip if you've done this already)
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install chruby ruby-install
ruby-install -V # this should show ruby-install: 0.6.0
ruby-install ruby 2.1.7
将此行添加到~/.bashrc
:
source /usr/local/opt/chruby/share/chruby/auto.sh
重新加载~/.bashrc
:
. ~/.bashrc
正在运行chruby
现在应该显示ruby-2.1.7
,正在运行ruby -v
也应该显示2.1.7。