LoadError enc / trans / single_byte.so

时间:2016-07-28 14:43:41

标签: ruby-on-rails ruby ruby-on-rails-3 rvm ruby-2.1

尝试使用非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)但没有成功。

该文件是否存在,如果存在,我需要安装什么?

1 个答案:

答案 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。