运行 redmine 服务器上的 Chartkick gem 错误

Chartkick gem error on running redmine server

希望有人能帮到我。

我正在使用 linux、ruby 1.8.7 版和 rails 3.2.21 版以及 redmine 2.6.2 版

我在尝试 install/run chartkick

时遇到错误

在安装之前我关闭了 redmine 服务器并且

我按照以下步骤安装:

在 Gemfile 中放入行

gem 'chartkick'

执行了以下命令来安装这个 gem:

bundle install --without production

第一次好像安装成功了,没有报错

但是当我 运行 启动 redmine 服务器时它显示错误..

查看下面的堆栈跟踪:

# /usr/lib/ruby/gems/1.8/gems/bundler-1.10.1/lib/bundler/runtime.rb:76:in 'require': /usr/lib/ruby/gems/1.8/gems/chartkick-1.4.2/lib/chartkick.rb:20: odd number list for Hash (Syntax Error)
    {name: name, data: data.map { |k, v| [k[1], v] }}
              ^  
/usr/lib/ruby/gems/1.8/gems/chartkick-1.4.2/lib/chartkick.rb:20: syntax error, unexpected ':', expecting '}'
    {name: name, data: data.map { |k, v| [k[1], v] }}
              ^  
/usr/lib/ruby/gems/1.8/gems/chartkick-1.4.2/lib/chartkick.rb:20: syntax error, unexpected ':', expecting '='
    {name: name, data: data.map { |k, v| [k[1], v] }}
                          ^  
/usr/lib/ruby/gems/1.8/gems/chartkick-1.4.2/lib/chartkick.rb:20: syntax error, unexpected '}', expecting kEND
/usr/lib/ruby/gems/1.8/gems/chartkick-1.4.2/lib/chartkick.rb:26: syntax error, unexpected $end, expecting kEND

拜托,我该怎么做才能解决这个问题?我究竟做错了什么 ?谢谢!

很明显的错误:

您已经捆绑了 gem 用 ruby 1.9 哈希语法编写的。

In version 1.9 Ruby introduced new syntax for hash literals whose keys are symbols. Hashes use the "hash rocket" operator to separate the key and the value

根据提供的设置,您可以安全地将 ruby 从 1.8 升级到至少 1.9.3[-p551]

选中 RBenv or RVM 以安装特定版本的 Ruby。