繁体   English   中英

如何在Mac OS High-Sierra上定义uniq红宝石版本?

[英]How to define a uniq ruby version on Mac OS High-Sierra?

(道歉:不是英语母语)

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

尤其是:

  • 终端适用于我无法在任何地方找到的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'没有帮助)。 我当然无法安装这些gem,直到无法在Terminal中选择带有rbenv 2.3.3版本:

当我跑步时:

$> 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的问题/答案…

没有任何答案,我发现的唯一方法是删除所有红宝石版本:

> 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>

感谢帮助。 也许有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM