我正在使用 vagrant box 作为一个项目的开发机器,这个项目有一个奇怪的依赖项,我似乎只能安装在 ubuntu 上。
我创建了我的数据库并在我的主机上拥有我的应用程序代码,并通过 NFS 文件共享和 postgres 配置与 vagrant 实例共享它们。
我的问题是,当我将计算机从工作单位搬到家中时,我的计算机的 ip 发生了变化,我database.yml变得无效。为了让我的服务器和控制台正常工作,我需要在每次加入新网络时使用主机的新 IP 地址更新 yaml 文件。
由于 rails 应用程序在 vagrant 上运行(即使它的文件位于我的主机上),我从 ifconfig grep ip 的任何尝试都会失败,因为它正在查看 VM 而不是主机箱。所以这样的事情是行不通的:
# database.yml
development:
  host: <%= `ifconfig en0 | grep "inet " | cut -d" " -f2` %>
Vagrant 文件中是否有用于传递此信息的配置,或者是否有创建 ubuntu 实例可以读取的主机 ip 的 ENV 变量的方法?