1

我跑brew updatebrew upgrade rbenv ruby-build。仅供参考:我昨天将 xcode 更新到 8.1 版。

我检查了可用版本,rbenv install -l.

然后我尝试通过安装ruby2.2.5 rbenv install 2.2.5,然后我得到以下错误。

我试过 2.3.1 但我得到了同样的错误。我该如何解决这个问题?

Downloading ruby-2.2.5.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2
Installing ruby-2.2.5...

BUILD FAILED (OS X 10.11.6 using ruby-build 20160602)

Inspect or clean up the working tree at /var/folders/2p/49l6q0gs6qzgtxbg4h1st_5h0000gq/T/ruby-build.20161106122840.51330
Results logged to /var/folders/2p/49l6q0gs6qzgtxbg4h1st_5h0000gq/T/ruby-build.20161106122840.51330.log

Last 10 log lines:
  Referenced from: /private/var/folders/2p/49l6q0gs6qzgtxbg4h1st_5h0000gq/T/ruby-build.20161106122840.51330/ruby-2.2.5/./miniruby (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime
  Referenced from: /private/var/folders/2p/49l6q0gs6qzgtxbg4h1st_5h0000gq/T/ruby-build.20161106122840.51330/ruby-2.2.5/./miniruby (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

make: *** [encdb.h] Trace/BPT trap: 5
make: *** Waiting for unfinished jobs....
make: *** [.rbconfig.time] Trace/BPT trap: 5
4

3 回答 3

2

首先,我已经卸载了所有:

brew uninstall rbenv ruby-build

并且由于旧的粘性 ruby​​-build 安装,我被迫这样:

brew uninstall --force ruby-build

当我键入时,我可以看到对 rbenv 的旧调用ruby -v。所以我删除了所有 rbenv 引用$HOME/.bash_profile,然后重新加载它:

source $HOME/.bash_profile

现在我只看到我的旧默认 MacOs ruby​​ 版本:

ruby -v     # ruby 2.0.0p481 (2014-05-08 revision 45883)
which ruby  # /usr/bin/ruby

好的!现在是时候再次安装它们,然后列出可用的 Ruby 版本:

brew install rbenv

rbenv install -l

我现在可以看到更多要安装的 Ruby 选项...

2.2.4、2.2.5、2.2.6、2.2.7、2.2.8、2.2.9、2.3.0、2.3.1、2.3.2、2.3.3、2.3.4、2.3.5、2.3。 6、2.4.0、2.4.1、2.4.2、2.4.3、2.5.0

我将选择其中之一并使其全球化:

rbenv install 2.5.0
rbenv global 2.5.0

如果您还没有$HOME/.bash_profilerbenv 配置行,请运行:

rbenv init

...并将结果行添加到您的$HOME/.bash_profile.

于 2018-03-03T23:45:17.900 回答
0

我试图升级 rbenv。

brew upgrade rbenv

然后我收到了警告。

Warning: You have Xcode 8 installed without the CLT;
this causes certain builds to fail on OS X El Capitan (10.11).
Please install the CLT via:
  sudo xcode-select --install
Error: rbenv 1.0.0 already installed

所以我安装了xcode-select.

sudo xcode-select --install

然后我尝试升级 rbenv 但已经安装了 rbenv 1.0.0。

brew upgrade rbenv
Error: rbenv 1.0.0 already installed

所以我尝试安装 2.3.1 和 2.2.5

rbenv install 2.3.1
...
rbenv install 2.2.5

这是成功的。

➜  ~ rbenv versions
  system
  1.9.3-p327
* 2.2.2 (set by /Users/sokada/.rbenv/version)
  2.2.5
  2.3.1

我还需要安装bundle,因为我是通过使用bundle来解决这个问题的。

gem install bundler -v 1.13.6 // newest as of this writing
bundler -v
bundler install // finally I could use it.
于 2016-11-06T09:03:14.543 回答
0

这是一个非常古老的问题。但是,我认为正确的方法是升级ruby-build. 它可作为 rbenv 的插件使用,提供 rbenv install 命令。所以要解决这个问题,请遵循以下方法:https ://github.com/rbenv/ruby-build#upgrading

# Via Homebrew
$ brew update && brew upgrade ruby-build
于 2019-03-21T09:45:25.793 回答