如何在Mac OS High-Sierra上定义uniq ruby 版本?

问题描述 投票:0回答:1

(道歉:不是母语英语)

我几天前将我的MacBook Air升级到OS High-sierra,我的ruby版本遇到了很多问题。

特别是:

  • 终端适用于我在任何地方都找不到的2.4红宝石版本......
  • Apache服务器似乎使用2.3.3 ruby​​版本我发现...在rbenv文件夹之外...
  • 我的rbenv只知道2.3.0和2.3.1红宝石版本......
  • 我无法用rbenv安装2.4版本(见下文)......
  • rbenv global 2.3.1根本没有帮助(没有任何变化)......

我可以尝试仅使用2.3.1红宝石版本吗?.........


一些(可能)有用的信息:

我没有~/.rvm文件夹。

关于配置的一些反馈,在终端:

$> ruby -v
   # => ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin17]

$> rbenv versions
   # => 
   * system (set by /Users/philippeperret/.rbenv/version)
   2.3.0
   2.3.1

$> which -a ruby
   # => 
     /Users/philippeperret/.rbenv/shims/ruby
     /usr/local/bin/ruby
     /usr/bin/ruby

$> irb
irb> RUBY_VERSION
     # => "2.4.2"

关于自制软件

$> brew config
HOMEBREW_VERSION: 1.4.1
ORIGIN: https://github.com/Homebrew/brew
...
HOMEBREW_PREFIX: /usr/local
CPU: quad-core 64-bit haswell
Homebrew Ruby: 2.3.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Clang: 9.0 build 900
Git: 2.14.3 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 7.54.0 => /usr/bin/curl
...
Ruby: /Users/philippeperret/.rbenv/shims/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Java: 1.8.0_45
macOS: 10.13.2-x86_64
Xcode: 9.2
CLT: N/A
X11: 2.7.11 => /opt/X11

我无法弄清楚为什么ruby版本2.3(.3)在/System/Library/Frameworks/Ruby.framework/Versions/而不是在.rbenv文件夹中?...(尽管我知道这是一个高山脉装置)


当我运行本地(类似rails)的Web应用程序(在我的浏览器中)时,询问它的ruby版本:

$> RUBY_VERSION
# => 2.3.3
$> ruby --version
# => ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17]
$> which -a ruby
# => /usr/bin/ruby

它找不到一些红宝石宝石(require 'rubygems'没有帮助)。当然,我无法安装这些宝石,直到我无法在终端中选择带2.3.3rbenv版本:

当我跑:

$> rbenv global 2.4.2p198

...(这是终端红宝石版本),它投诉:

rbenv: version `2.4.2p198' not installed

当我尝试:

rbenv install 2.4.2p198

......投诉:

ruby-build: definition not found: 2.4.2p198

See all available versions with `rbenv install --list'.
If the version you need is missing, try upgrading ruby-build:
brew update && brew upgrade ruby-build

(当然我“冲泡更新”等等)


我花了最后几天来阅读文档和SO的问题/答案是徒劳的......

ruby macos-high-sierra
1个回答
0
投票

没有任何答案,我找到的唯一方法是删除所有ruby版本:

> brew remove --force ruby
> brew uninstall --ignore-dependencies ruby
> brew uninstall --force ruby
> sudo rm -rf /usr/local/lib/ruby
> sudo rm -rf ~/.rbenv
> sudo rm -rf ~/.gem

现在我到处都使用2.3.3版本。

> ruby -v
# => 2.3.3

brew config

Homebrew Ruby: 2.3.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby

我可以在/Library/Ruby/Gems/2.3.0/gems找到我的宝石:

gem which sass
# => /Library/Ruby/Gems/2.3.0/gems/sass-3.5.4/lib/sass.rb

要安装新gem,需要超级用户权限:

sudo gem install <gem name>

感谢帮助。也许它有帮助。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.