Vagrant
Vagrant 是一个用于构建和管理由 Vagrantfile 配置文件定义的虚拟机环境的工具。 RubyMine 提供了与 Vagrant 的集成,允许您在项目中执行所有必要的操作——从初始化 Vagrant 环境到执行 Vagrant 命令。 此外,RubyMine 允许您将正在运行的虚拟机用作远程解释器。 这意味着您可以直接从 IDE 中在隔离环境中运行、调试和测试您的应用程序。
在本主题中,我们将介绍 RubyMine 中可用的主要 Vagrant 功能:配置 Vagrant、添加和删除盒子、运行 Vagrant 命令。 我们还将展示如何通过配置远程解释器,在虚拟机中运行 示例 Rails 应用程序。
先决条件
要开始使用 Vagrant,请执行以下操作。
安装 Vagrant 和 VirtualBox。
请确保 Vagrant 插件 已启用。
如有必要,配置 Vagrant 设置。
Vagrant init
要为打开的项目初始化 Vagrant 环境,请按照以下步骤操作。
转到 。
在弹出的对话框中,指定盒子名称和 URL,例如:
Box 名称:
ubuntu/bionic64Box URL: https://app.vagrantup.com/ubuntu/boxes/bionic64
如果您已经有多个 Vagrant 盒子,请在弹出的 选择 Vagrant Box 弹窗中选择所需的一个。
等待 RubyMine 下载指定的盒子并初始化 Vagrantfile 。
以以下方式更改 Vagrantfile :
Vagrant.configure("2") do |config| config.vm.box = "ubuntu/bionic64" config.vm.synced_folder ".", "/home/vagrant/sample_rails_app" config.vm.network "forwarded_port", guest: 3000, host: 3000 end此配置中指定了以下设置:
Vagrant up
在 初始化 Vagrant 环境 后,您可以基于 Vagrantfile 设置创建并运行虚拟机。
SSH 进入正在运行的机器
要连接到 正在运行的虚拟机 ,请按照以下步骤操作。
转到 。
在弹出的弹窗中,选择所需的 Vagrant 主机。

(可选)如果 多台机器 正在运行,请选择所需的一台。

在打开的 127.0.0.1 标签页的 终端 窗口中,您可以执行 shell 命令,例如安装其他库、运行应用程序等。

将 Vagrant 添加为远程解释器
RubyMine 允许您将安装了 Ruby 的 正在运行的虚拟机 用作远程解释器。 这意味着您可以直接从 IDE 中 运行、 调试或 测试您的应用程序。 请按照以下步骤操作。
打开 设置 对话框 Ctrl+Alt+S ,转到 语言与框架 | Ruby 解释器 页面。
单击
并在下拉菜单中选择 远程解释器或版本管理器。

在弹出的对话框中,选择 Vagrant。

如果项目根文件夹包含一个指向正在运行的虚拟机的 Vagrantfile ,RubyMine 会自动检测到 Vagrant 实例文件夹 并显示用于访问虚拟机的 Vagrant 主机 URL。 如有必要,您可以 更改Vagrant 实例文件夹 以使用其他虚拟机。
在 Ruby 或版本管理器路径 中,指定 Ruby 解释器或 版本管理器 可执行文件的路径。 点击 确定。
(可选) 如果您在上一步中指定了版本管理器可执行文件的路径,RubyMine 会建议选择用于运行远程应用程序的 Ruby 解释器。

在 Ruby 解释器 页面中选择添加的解释器并单击 确定。

等待 RubyMine 从远程机器下载 gems 到本地缓存。 这是为了 索引 所必需的。
(可选) 如果您希望使用添加的解释器调试 远程进程 ,请指定本地和远程项目文件之间的映射。 为此,请单击 编辑路径映射
按钮。 在 编辑项目路径映射 对话框中,指定本地和远程项目根路径。

RubyMine 会检测到 Vagrant 的 同步文件夹 并自动添加相应的映射。
在您将 Vagrant 配置为远程解释器后,您可以:
Vagrant 设置
您可以在 页面上的 设置 对话框 Ctrl+Alt+S 中配置以下 Vagrant 设置:
- Vagrant 可执行文件
如果 RubyMine 未自动检测到 Vagrant 可执行文件,或者您希望使用其他文件,请指定该文件。
示例:
vagrant- 实例文件夹
指定 Vagrantfile 所在目录的完整路径,并已 初始化 和存储。 默认情况下,RubyMine 使用当前项目的根目录来执行 Vagrant 命令。 此目录用于执行 Vagrant 命令,例如 vagrant up 、vagrant reload、vagrant halt 等。
示例: /Users/jetbrains/RubymineProjects/sample_rails_app
- 提供程序
选择用于作为后端运行虚拟机的 提供程序。 您可以在 插件选项卡 中将所需的提供程序安装为 Vagrant 插件。
示例:
aws、libvirt- 环境变量
环境变量使您能够传递配置 提供程序 所需的值。 要指定环境变量,请单击 浏览 按钮(Shift+Enter)。 例如, vagrant-aws 提供程序允许您使用 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 环境变量传递您的 AWS 凭据。 在实例化 AWS 实例时,您可以在 Vagrantfile 中读取变量值。
config.vm.provider 'aws' do |aws| aws.access_key_id = ENV['AWS_ACCESS_KEY_ID'] aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY'] # ... end- 盒子
此列表显示了可用的 Vagrant 盒子。 要添加新盒子,请单击
按钮 Alt+Insert 并指定盒子名称和 URL。 例如:
Box 名称:
ubuntu/bionic64Box URL:
https://app.vagrantup.com/ubuntu/boxes/bionic64
要移除选定的盒子,请单击
按钮 Alt+Delete。
- Plugins
使用此表格添加、移除和更新 Vagrant 插件。 例如,要安装 vagrant-aws 插件,请单击
按钮 Alt+Insert ,在弹出的对话框中输入
vagrant-aws并单击 确定。

