运行redmine服务器时出现Chartkick gem错误

时间:2016-04-25 16:16:41

标签: ruby-on-rails-3.2 redmine chartkick

希望有人可以在这里帮助我。

我使用linux,ruby版本1.8.7和rails版本3.2.21以及redmine版本2.6.2

我在尝试安装/运行chartkick时遇到错误

安装之前我已关闭redmine服务器和

我按照以下步骤安装:

Gemfile中的

放行

gem 'chartkick'

执行以下命令来安装此gem:

bundle install --without production

第一次,似乎安装成功导致没有错误通知。

但是当我运行redmine服务器时,它会向我显示错误..

请参阅下面的stacktrace:

# /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

请问,我有什么想法来解决这个问题?我究竟做错了什么 ?谢谢!

1 个答案:

答案 0 :(得分:0)

这是非常明显的错误:

您使用ruby 1.9哈希语法编写的捆绑gem。

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

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

检查RBenvRVM以安装某些版本的Ruby。