2016-07-28 35 views
0

嘗試使用非ascii字符執行string.encode("UTF-8")時收到以下錯誤。LoadError enc/trans/single_byte.so

LoadError: dlopen(enc/trans/single_byte.so, 9): image not found - enc/trans/single_byte.so 

不同的答案here,看來這個文件沒有在我的紅寶石存在安裝,或任何其他地方的系統爲這一問題上。我運行的是Mac OSX 10.11.5上運行的ruby 2.1.7和bundler 1.10.6。我嘗試重新安裝紅寶石(使用RVM)沒有成功。

該文件是否存在,如果有的話,我需要安裝什麼?

回答

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。