【问题标题】:LoadError enc/trans/single_byte.soLoadError enc/trans/single_byte.so
【发布时间】:2016-12-03 01:00:06
【问题描述】:

我在尝试使用非 ascii 字符执行 string.encode("UTF-8") 时收到以下错误。

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

与答案 here 不同,我的 ruby​​ 安装中或系统上的其他任何地方似乎都不存在此文件。我正在运行 ruby​​ 2.1.7 和 bundler 1.10.6,在 Mac OSX 10.11.5 上运行。我尝试重新安装 ruby​​(使用 RVM)但没有成功。

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

【问题讨论】:

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


    【解决方案1】:

    我建议尝试使用 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      相关资源
      最近更新 更多