0

我在 root 登录后使用 rvm 安装了 ruby​​ 2.1.1。在另一个用户登录中,正在使用 ruby​​ 1.8.7。使用 1.8.7 Redmine 2.5.0 可以正常工作。但使用 2.1.0


命令:

ruby script/rails server webrick -d -e production

错误:

/usr/local/rvm/gems/ruby-2.1.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:252:in `require': /usr/local/rvm/gems/ruby-2.1.1/gems/vpim-0.695/lib/vpim/vcard.rb:679: invalid multibyte escape: /^\xFE\xFF/ (SyntaxError)
invalid multibyte escape: /^\xFF\xFE/
    from /usr/local/rvm/gems/ruby-2.1.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:252:in `block in require'
    from /usr/local/rvm/gems/ruby-2.1.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:237:in `load_dependency'
    from /usr/local/rvm/gems/ruby-2.1.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:252:in `require'
    from /usr/local/rvm/gems/ruby-2.1.1/gems/vpim-0.695/lib/vpim.rb:12:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:76:in `require'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:72:in `each'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:72:in `block in require'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:61:in `each'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:61:in `require'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler.rb:131:in `require'
    from /home/dax/redmine-2.5.0/config/application.rb:7:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.1.1/gems/railties-3.2.17/lib/rails/commands.rb:53:in `require'
    from /usr/local/rvm/gems/ruby-2.1.1/gems/railties-3.2.17/lib/rails/commands.rb:53:in `block in <top (required)>'
    from /usr/local/rvm/gems/ruby-2.1.1/gems/railties-3.2.17/lib/rails/commands.rb:50:in `tap'
    from /usr/local/rvm/gems/ruby-2.1.1/gems/railties-3.2.17/lib/rails/commands.rb:50:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
4

2 回答 2

1

尝试使用以下命令删除 gem vpim:

gem uninstall vpim

我已经尝试过安装并且不需要这个 gem。

如果你真的需要那个 gem 编辑文件

/usr/local/rvm/gems/ruby-2.1.1/gems/vpim-0.695/lib/vpim/vcard.rb

并将其放在第一行:

# encoding: US-ASCII
于 2014-04-17T09:05:38.023 回答
1

您的堆栈跟踪中提到的vpimgem 不是核心 Redmine 的要求。看来您有一个自定义插件需要该 gem,并且与较新的 Ruby 版本(即任何 >= 1.9)不兼容。

要解决此问题,您需要更新或删除该自定义插件。此外,现在,不使用 Ruby 2.1 而使用 Ruby 2.0 可能是一个好主意,因为似乎 Redmine 核心(或更一般地说,Rails 3.2)在 Ruby 2.1.1 上仍然存在其他问题。

于 2014-04-18T08:48:36.370 回答