" Gem :: InstallError:strptime需要Ruby版本〜> 2.0"甚至在安装要求之后

时间:2015-10-28 15:10:08

标签: ruby gem bundler ruby-2.0 fluentd

我尝试从源代码在ubuntu服务器上安装fluentd,然后按照here给出的程序。

我运行以下命令来设置ruby环境:

sudo apt-get -y install ruby2.0 ruby2.0-dev
sudo apt-get -y install bundler
sudo gem2.0 install rdoc

然后我运行了以下命令:

# Download the latest code from github
curl -O https://codeload.github.com/fluent/fluentd/zip/master
mv master fluentd-master.zip

unzip -o fluentd-master.zip
cd fluentd-master
bundle install

运行最后一个命令bundle install会产生以下输出,最终会出错。

Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using rake (10.4.2) 
Using cool.io (1.4.1) 
Using flexmock (1.3.3) 
Using http_parser.rb (0.6.0) 
Using json (1.8.3) 
Using msgpack (0.7.0) 
Using sigdump (0.2.3) 
Installing strptime (0.1.4) 
Gem::InstallError: strptime requires Ruby version ~> 2.0.
An error occurred while installing strptime (0.1.4), and Bundler cannot continue.
Make sure that `gem install strptime -v '0.1.4'` succeeds before bundling.

我已将sym链接gem指向gem2.0,之后能够成功运行gem install strptime -v '0.1.4',但运行bundle install仍会出现同样的错误。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您当前的ruby版本是1.9.3,您应该将其更改为〜> 2.0。我建议你使用rbenv来安装ruby。 rake db:migrate:reset 是一个管理多个ruby版本的简单工具。

安装:

rbenv

然后安装ruby:

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

检查您的ruby版本:

rbenv install -v 2.0.0
rbenv global 2.0.0

然后你可以正确安装流利。