我正在使用 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 变量的方法?