我尝试从源代码在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
仍会出现同样的错误。
我该如何解决这个问题?
答案 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
然后你可以正确安装流利。