ruby - 我怎样才能找出安装的 ruby 版本?

标签 ruby shell

我需要在运行脚本之前测试正确的 Ruby 版本。在项目中,我们有文件 .ruby_version,其中包含所需版本的数量。例如 .ruby_version 文件有:

2.5.5

我可以使用 ruby --version 在用户中获取 Ruby 的当前用户版本,但此命令返回我需要的更多信息。例如:

ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-darwin19]

所以我的支票不起作用:

required_ruby=$(cat .ruby-version)
current_ruby=`ruby --version`
if [ "$required_ruby" != "$current_ruby" ]; then
        echo "This project uses Ruby version $required_ruby, try to checkout or install it"
fi

知道如何解决吗?

最佳答案

在 Ruby 解释器中有两个特殊常量 RUBY_VERSIONRUBY_PATCH_LEVEL 可用,所以你可以调用 ruby 命令并让它给你需要的信息。

$ /usr/bin/ruby -e 'puts RUBY_VERSION'
2.5.5

关于ruby - 我怎样才能找出安装的 ruby 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65456861/

相关文章:

ruby - 在 ruby​​ shoes 框架中处理表

ruby - 字符串操作

arrays - 错误的数组下标

bash - 在 cat 命令中转义 Unix 中的美元符号

ruby-on-rails - 如何以编程方式将 ActiveModel 验证器从一个模型复制到另一个模型?

ruby - Sidekiq 网页面板显示禁止

ruby - 获取 `initialize' : wrong number of arguments(1 for 0) (ArgumentError) for simple ruby app

c - 简单 shell 中的段错误

mysql - 用于列出目录中文件的 Bash 脚本

linux - 如何根据下一行中的内容来 grep 行?