当前位置:首页 > 后端开发 > 正文内容

rbenv:Ruby 多版别办理利器

邻居的猫1个月前 (12-09)后端开发1696

在 Ruby 开发的国际中,常常需求面临不同项目运用不同 Ruby 版别的状况。这时,一个高效、灵敏且易于运用的 Ruby 版别办理东西就显得尤为重要。

rbenv 正是这样一个东西,它答应开发者在同一台核算机上轻松装置、切换和办理多个 Ruby 版别。本文将具体介绍 rbenv 的装置、根本运用以及一些高档特性,协助你更好地把握这个强壮的东西。

rbenv 简介

rbenv 是一个轻量级的 Ruby 版别办理东西,经过修正环境变量来操控当时运用的 Ruby 版别。它不会搅扰体系自带的 Ruby 环境,而是为用户供给一个阻隔的 Ruby 运转环境。这意味着你能够依据项目需求,轻松切换到所需的 Ruby 版别,保证项目的兼容性和运转安稳性。

装置 rbenv

Homebrew 装置

  1. 在 macOS (或 Linux) 体系上,主张运用 Homebrew 装置 rbenv。具体教程

    brew install rbenv ruby-build
    

    Homebrew 具体教程可检查:

    • Homebrew 酿酒术:精心分配你的 macOS 软件环境
  2. 在 shell 中加载 rbenv

    运转下面指令,并依照打印的阐明进行操作:

    rbenv init
    

    例如,下面这个示例,咱们运转 rbenv init 后,提示将 eval "$(rbenv init - zsh)" 添加到 ~/.zshrc 文件中,才干主动加载 rbenv。

    $ rbenv init
    
    # Load rbenv automatically by appending
    # the following to ~/.zshrc:
    
    eval "$(rbenv init - zsh)"
    
  3. 履行 source ~/.zshrc 或许封闭终端窗口并翻开一个新窗口,让咱们的更改收效。

克隆 Git 库房装置

关于更主动化的装置,能够运用 rbenv-installer。假如更喜爱手动办法装置,请依照以下进程操作。

  1. 将 rbenv 克隆到 ~/.rbenv:

    git clone https://github.com/rbenv/rbenv.git ~/.rbenv
    
  2. 装备 shell 来加载 rbenv: 具体教程

    • 关于 bash:

      在 macOS (或 Linux) 体系上,bash 一般经过以下方法装备 ~/.bash_profile:

      echo 'eval "$(~/.rbenv/bin/rbenv init - bash)"' >> ~/.bash_profile
      
    • 关于 Zsh:

      echo 'eval "$(~/.rbenv/bin/rbenv init - zsh)"' >> ~/.zshrc
      

    假如你猎奇,请检查此处以了解 init 的效果。

  3. 履行 source ~/.zshrc 或许封闭终端窗口并翻开一个新窗口,让咱们的更改收效。

卸载 rbenv

rbenv 的简略性使得暂时禁用或从体系中卸载它变得很简略。具体教程

  1. 禁用 rbenv 办理你的 Ruby 版别,只需从 shell 发动装备中注释或删去 rbenv init 行即可。这将从 PATH 中删去 rbenv shims 目录,而且将今后的运用(例如 ruby)将履行体系版别 Ruby,彻底绕过 rbenv。

    禁用后,rbenv 仍可在指令行上拜访,但你的 Ruby 应用程序不会遭到版别切换的影响。

  2. 要彻底卸载 rbenv,请履行进程(1),然后删去 rbenv 根目录。这将删去装置在 `rbenv root`/versions/ 下的一切 Ruby 版别:

    rm -rf "$(rbenv root)"
    

    假如你已运用包办理器装置了 rbenv,则最终一步履行 rbenv 包删去:

    • Homebrew:brew uninstall rbenv
    • Debian、Ubuntu 及其衍生版别:sudo apt purge rbenv
    • Archlinux 及其衍生版别:sudo pacman -R rbenv

rbenv 根本运用

装置 Ruby 版别

rbenv install 指令不随 rbenv 一同供给,而是由 ruby​​-build 插件供给。

在测验装置 Ruby 之前,请检查你的构建环境是否具有必要的东西和库。然后:

rbenv install -l     # 列出最新的安稳版别
rbenv install -L     # 列出一切本地版别
rbenv install 3.3.0  # 装置 Ruby 版别

要对 BUILD FAILED 场景进行毛病扫除,请检查 ruby-build 评论部分。

假如 rbenv install 指令找不到,你能够将 ruby-build 作为插件装置:

git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

设置 Ruby 版别

装置完后,需求设置 Ruby 版别以完结装置并开端运用 Ruby,你能够运用 rbenv versions 指令检查已装置的版别列表。要切换/设置到特定版别,请运转:

rbenv global 3.3.0   # 设置本机的默许 Ruby 版别,你能够替换为你已装置的版别号
# 或:
rbenv local 3.3.0    # 设置该目录的 Ruby 版别,你能够替换为你已装置的版别号
# 或:
rbenv shell 3.3.0   # shell 环境,切换到 Ruby 3.3.0 版别,你能够替换为你已装置的版别号

除了 rbenv install 指令之外,你还能够手动下载并编译 Ruby 作为 ~/.rbenv/versions 的子目录。该目录中的内容也能够是装置在文件体系其他方位的 Ruby 版别的符号链接。

装置 Ruby gem

例如,运用 rbenv local 3.3.0 为你的项目选择 Ruby 版别。然后,像往常相同持续装置 gems:

gem install bundler

你不应该运用 sudo 来装置 gem。一般,Ruby 版别将装置在你的主目录下,因而你的用户能够写入。假如你在装置 gems 时收到“你没有写入权限”过错,则很可能你的“体系” Ruby 版别仍然是大局默许版别。运用 rbenv global <version> 更改它,然后重试。

运用 gem env 检查 gem 的装置方位:

gem env home
# => ~/.rbenv/versions/<version>/lib/ruby/gems/...

卸载 Ruby 版别

跟着时刻的推移,你装置的 Ruby 版别将累积在 ~/.rbenv/versions 目录中。

要删去旧的 Ruby 版别,只需 rm -rf 你要删去的版别的目录即可。你能够运用 rbenv prefix 指令查找特定 Ruby 版别的目录,例如 rbenv prefix 3.3.0

ruby-build 插件供给了 rbenv uninstall 指令来主动履行删去进程。

rbenv uninstall 3.3.0  # 主动履行删去 Ruby 版别

常用指令

你需求了解的首要 rbenv 指令是。具体教程

rbenv versions

列出 rbenv 已知的一切 Ruby 版别,并在当时活动版别周围显现一个星号。

$ rbenv versions
  system
  2.7.4
* 3.3.0 (set by /Users/liam/.rbenv/version)
  jruby-9.4.6.0
  mruby-3.3.0
  truffleruby-24.0.1

rbenv version

显现当时活动的 Ruby 版别,以及有关其设置方法的信息。

$ rbenv version
3.3.0 (set by /Users/liam/.rbenv/version)

rbenv local

经过将版别称号写入当时目录中的 .ruby-version 文件来设置本地应用程序特定的 Ruby 版别。此版别掩盖大局版别,而且能够经过设置 RBENV_VERSION 环境变量或运用 rbenv shell 指令来掩盖本身。

rbenv local 3.1.2

当不带版别号运转时,rbenv local 会陈述当时装备的本地版别。你还能够撤销设置本地版别:

rbenv local --unset

rbenv global

经过将版别称号写入 ~/.rbenv/version 文件来设置要在一切 shell 中运用的 Ruby 大局版别。此版别能够经过特定于应用程序的 .ruby-version 文件或经过设置 RBENV_VERSION 环境变量来掩盖。

rbenv global 3.1.2

特别版别称号 system 告知 rbenv 运用体系 Ruby(经过查找 $PATH 来检测)。

当没有版别号运转时,rbenv global 陈述当时装备的大局版别。

rbenv shell

经过在 shell 中设置 RBENV_VERSION 环境变量来设置特定于 shell 的 Ruby 版别。此版别掩盖特定于应用程序的版别和大局版别。

rbenv shell jruby-9.4.6.0

当没有版别号运转时,rbenv shell 会陈述 RBENV_VERSION 的当时值。你还能够撤销设置 shell 版别:

rbenv shell --unset

请注意,你需求启用 rbenv 的 shell 集成(装置阐明的进程 3)才干运用此指令。假如你不想运用 shell 集成,你能够简略地自己设置 RBENV_VERSION 变量:

export RBENV_VERSION=jruby-9.4.6.0

rbenv rehash

为 rbenv 已知的一切 Ruby 可履行文件装置 shims (~/.rbenv/versions/*/bin/*)。一般你不需求运转此指令,由于它会在装置 gems 后主动运转。

rbenv rehash

rbenv which

显现给定可履行文件的,的完好途径。

$ rbenv which irb
/Users/liam/.rbenv/versions/3.3.0/bin/irb

rbenv whence

列出包括指定可履行文件称号的一切 Ruby 版别。

$ rbenv whence rackup
3.3.0
jruby-9.4.6.0
truffleruby-24.0.1

环境变量

称号 默许 描绘
RBENV_VERSION 指定要运用的 Ruby 版别。另请参看 rbenv shell
RBENV_ROOT ~/.rbenv 界说 Ruby 版别和 shims 地点的目录。另请参看 rbenv root
RBENV_DEBUG 输出调试信息。例如:rbenv --debug <subcommand>
RBENV_HOOK_PATH 检查 wiki 查找 rbenv hooks 检查途径列表
RBENV_DIR $PWD 开端查找 .ruby-version 文件的目录

插件支撑

rbenv 还支撑经过插件来扩展功用。例如,ruby-build 和 rbenv-vars 插件能够让你更方便地装置和办理 Ruby 版别。你能够经过 Homebrew 或直接从 Git 库房装置这些插件,并运用它们来简化 Ruby 版别的装置和办理进程。

ruby-build

装置 ruby-build 插件的指令如下。具体教程

# 经过 Homebrew 装置
brew install ruby-build

# 或许经过 Git 装置
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

装置完结后,你能够运用 ruby-build 指令来装置和办理 Ruby 版别,而无需手动下载和编译 Ruby 源代码。

ruby-vars

装置 rbenv-vars 插件的指令如下。具体教程

# 经过 Homebrew 装置
brew install rbenv-vars

# 或许经过 Git 装置
git clone https://github.com/rbenv/rbenv-vars.git "$(rbenv root)"/plugins/rbenv-vars

装置完结后,你能够运用 ruby-vars 指令让你在生成 Ruby 进程之前设置大局和特定于项目的环境变量。

结语

rbenv 是一个功用强壮的 Ruby 版别办理东西,它答应开发者在同一台核算机上轻松装置、切换和办理多个 Ruby 版别。经过运用 rbenv,你能够保证你的项目在正确的 Ruby 环境中运转,然后进步开发功率和代码质量。

跟着 Ruby 生态体系的不断发展,rbenv 将持续成为开发者不可或缺的东西之一。期望本文能协助你更好地了解和运用 rbenv,为你的 Ruby 开发之旅供给便当!

相关链接

  • https://github.com/rbenv/rbenv
  • https://github.com/rbenv/ruby-build
  • https://github.com/rbenv/rbenv-vars
  • https://brew.sh
  • Homebrew 酿酒术:精心分配你的 macOS 软件环境

拜访博址 liam-i.github.io 获取更佳阅览体会和最新内容。

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=203

标签: 工具
分享给朋友:

“rbenv:Ruby 多版别办理利器” 的相关文章

verilog语言入门教程,verilog语言

如果你想学习Verilog语言,这里有几篇入门教程可以参考:1. 菜鸟教程 Verilog 教程 这篇教程介绍了Verilog HDL的基本语法、设计层次和仿真方法,适合初学者和进阶者。通过实例和代码,你可以学习如何用Verilog设计数字电路,如4位宽10进制计数器。 2. CSDN...

php判断字符串中是否包含某个字符, 使用 `strpos()` 函数

在PHP中,你可以使用 `strpos` 函数来判断一个字符串中是否包含另一个字符或字符串。这个函数会返回字符串在另一个字符串中第一次出现的位置,如果没有找到,则返回 `false`。下面是一个示例代码,演示如何使用 `strpos` 函数:```phpif !== falseqwe2 {...

php考试系统,构建高效在线考试平台

php考试系统,构建高效在线考试平台

1. 小马考试(ponyexam): 这是一个基于PHP MySQL开发的免费开源在线教育源代码系统,支持多种题型(单选题、多选题、判断题、填空题等),支持在线考试和自动/人工批阅试卷。适用于各类学校、培训机构和企业内训。2. phpems: 这是一个开源免费的PHP在线考试系统,特别优...

安装python教程, Windows系统安装Python

安装python教程, Windows系统安装Python

安装Python是一个简单的过程,但具体的步骤可能会因操作系统和Python版本的不同而有所差异。以下是一个基本的Python安装指南,适用于大多数情况。 1. 下载Python首先,您需要从Python官方网站下载Python安装包。访问 选择适合您操作系统的Python版本。 2. 安装Pyt...

rust手游,荒野求生,打造你的末日生存传奇

rust手游,荒野求生,打造你的末日生存传奇

《腐蚀(Rust)》手游是由知名游戏开发商Facepunch Studios官方授权制作的生存类手游。目前,该游戏正在开发中,并计划于2025年初在海外开启限量测试。如果你对这款游戏感兴趣,可以关注TapTap平台上的官方预约页面,获取最新的游戏信息和下载链接。此外,国内玩家可以通过腾讯的封闭测试参...

rust单机,Rust语言在单机游戏开发中的应用与优势

rust单机,Rust语言在单机游戏开发中的应用与优势

Rust语言在单机游戏开发中的应用与优势随着游戏行业的不断发展,单机游戏开发对性能和稳定性的要求越来越高。Rust语言作为一种新兴的编程语言,凭借其内存安全、高性能和并发性等特性,逐渐成为单机游戏开发的热门选择。本文将探讨Rust语言在单机游戏开发中的应用与优势。一、Rust语言简介Rust是由Mo...