我将用 ruby 编写一些简短的脚本。我想通过 shebang 或其他方式指定 ruby 版本。
我将在许多环境中使用该脚本。我在环境中使用 rbenv,但不确定安装了哪个版本的 ruby。
如果未安装指定版本的 ruby,该脚本必定会失败。
我该怎么做?我应该遵循什么好方法吗?
答案1
根据官方文档听起来你只需要在脚本前面加上这样的前缀:
#!/usr/bin/env ruby
然后执行以下操作之一来确定rbenv
要使用哪个版本的 Ruby:
摘抄:https://github.com/sstephenson/rbenv
选择 Ruby 版本
当您执行填充程序时,
rbenv
通过按以下顺序从以下源读取来确定要使用的 Ruby 版本:
环境
RBENV_VERSION
变量(如果指定)。您可以使用rbenv
shell 命令在当前 shell 会话中设置此环境变量。
.ruby-version
通过搜索正在执行的脚本的目录及其每个父目录直到到达文件系统的根目录找到的第一个文件。
.ruby-version
通过搜索当前工作目录及其每个父目录直到到达文件系统的根目录找到的第一个文件。您可以.ruby-version
使用本地命令修改当前工作目录下的文件rbenv
。全局
~/.rbenv/version
文件。您可以使用全局命令修改此文件rbenv
。如果全局版本文件不存在,则假设您想要使用“系统”Ruby,即如果不在您的路径中rbenv
则运行任何版本。rbenv
.ruby-version
然后,您可以使用此命令在目录中创建一个文件以及 Ruby 脚本。
$ rbenv local 1.9.3-p327