6

我正在尝试安装 GitLab CI,但出现此错误。

Gem::InstallError: celluloid requires Ruby version >= 1.9.2.
An error occurred while installing celluloid (0.12.4), and Bundler cannot continue.
Make sure that `gem install celluloid -v '0.12.4'` succeeds before bundling.

但是,我认为我的红宝石是最新的。

# ruby --version
ruby 1.9.3p286 (2012-10-12 revision 37165) [i686-linux]

# ls -l /usr/bin/ruby
lrwxrwxrwx 1 root root 22 Jan 26 11:20 /usr/bin/ruby -> /etc/alternatives/ruby

# ls -l /etc/alternatives/ruby 
lrwxrwxrwx 1 root root 18 Jan 26 12:17 /etc/alternatives/ruby -> /usr/bin/ruby1.9.3

# rvm list
rvm rubies
=* ruby-1.9.3-p286 [ i686 ]

# which bundle
/usr/local/rvm/gems/ruby-1.9.3-p286@global/bin/bundle

# which gem
/usr/local/rvm/rubies/ruby-1.9.3-p286/bin/gem

知道我这里有什么问题吗..?

4

3 回答 3

2

很可能,您的bundlergemCLI 工具与 Ruby 1.8 的安装相关联。

看看which bundlewhich gem; 并检查这些文件 - 默认情况下,它们是指向特定 ruby​​ 安装的。

(您可能需要为当前的 ruby​​ 版本安装 bundler)

于 2013-01-26T04:45:40.013 回答
1

我也遇到了这个问题。我使用 rbenv。

这是我的解决方案。

  1. 确保您的 Ruby 由 rbenv 加载
  2. $ gem install bundler
  3. $ rbev rehash

现在你gem不应该指向你的系统 Ruby。

于 2014-02-11T06:06:14.930 回答
0

如果您使用基于 debian 的 linux,请尝试sudo update-alternatives --config ruby使用sudo update-alternatives --config gem. 帮助过我。

于 2014-06-22T14:23:49.957 回答