rbenv install 2.4.0 在 Mac OS Sierra 10.12.6 中失败

rbenv install 2.4.0 fails in Mac OS Sierra 10.12.6

> rbenv install 2.4.0 ruby-build: use openssl from homebrew Downloading
> ruby-2.4.0.tar.bz2...
> -> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.bz2 Installing ruby-2.4.0... ruby-build: use readline from homebrew
> 
> BUILD FAILED (OS X 10.12.6 using ruby-build 20170726)
> 
> Inspect or clean up the working tree at
> /var/folders/9_/xjrq9lv11hl_82pmlzqh3h0m0000gn/T/ruby-build.20170728015414.21759
> Results logged to
> /var/folders/9_/xjrq9lv11hl_82pmlzqh3h0m0000gn/T/ruby-build.20170728015414.21759.log
> 
> Last 10 log lines:   Referenced from: /usr/local/bin/tar   Expected
> in: /usr/lib/libSystem.B.dylib
> 
> dyld: Symbol not found: _utimensat   Referenced from:
> /usr/local/bin/tar   Expected in: /usr/lib/libSystem.B.dylib
> 
> /usr/local/bin/ruby-build: line 344: 21953 Abort trap: 6           tar
> $tar_args "$package_filename"
> /var/folders/9_/xjrq9lv11hl_82pmlzqh3h0m0000gn/T/ruby-build.20170728015414.21759/ruby-2.4.0
> /var/folders/9_/xjrq9lv11hl_82pmlzqh3h0m0000gn/T/ruby-build.20170728015414.21759
> ~/Documents/Github /usr/local/bin/ruby-build: line 563: ./configure:
> No such file or directory

/var/folders/9_/xjrq9lv11hl_82pmlzqh3h0m0000gn/T/ruby-build‌ .20170728015414.2175‌ 9.log

的内容

dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /usr/local/bin/tar Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _utimensat Referenced from: /usr/local/bin/tar Expected in: /usr/lib/libSystem.B.dylib

/usr/local/bin/ruby-build: line 344: 21953 Abort trap: 6 tar $tar_args "$package_filename" /var/folders/9_/xjrq9lv11hl_82pmlzqh3h0m0000gn/T/ruby-build.20170728015414.21759/ruby-2.4.0 /var/folders/9_/xjrq9lv11hl_82pmlzqh3h0m0000gn/T/ruby-build.20170728015414.21759 ~/Documents/Github /usr/local/bin/ruby-build: line 563: ./configure: No such file or directory

brew uninstall tar 

rbenv install ruby 2.4.0

现在可以使用了,所以看起来 gnu-tar 目前在 Mac OS 10.12.16 上表现不佳,必须回退到原生 macos tar

感谢@LucasCosta

xcode-select --install

修复了在 MacOS Sierra 上类似的 ruby 2.4.2 安装问题,当 XCode 9 在没有 XCode 开发者工具的情况下安装时发生。