複数のプロジェクトに関わっていると開発環境をローカルにいれておくとなんだかごちゃごちゃしてくるのでvagrantを使うようにしています。
RailsやDBなどがはいっている環境をリポジトリにいれておいて、そのリポジトリをcloneして、プロジェクトに関するファイルを.envで記述するようにしてきます。
例えば、Railsのプロジェクトであれば下記を使います。
GitHubからcloneしてきます。
$ git clone git@github.com:hirotaka/rails4_box.git project_name_box
.envにソースがあるディレクトリなどプロジェクト固有の内容を記述します。
$ berks vendor
$ vagrant up
この手順でできるように、Vagrantfileでdotenvを使えるようにしたっかたのですが、若干はまったので手順をまとめておきたいと思います。
まず、gemでdotenvをいれるのですが、vagrantの場合は組込のrubyを使うのでgem install
ではなく、vagrant plugin install
をしていれる必要があります。
$ vagrant plugin install dotenv
Installing the 'dotenv' plugin. This can take a few minutes...
Waiting for cleanup before exiting...Waiting for cleanup before exiting...
Waiting for cleanup before exiting...Waiting for cleanup before exiting...Waiting for cleanup before exiting...
Waiting for cleanup before exiting...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:
An error occurred while installing nokogiri (1.6.4.1), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.4.1'` succeeds before bundling.
nokogiriでエラーが出てしまいました。
依存しているライブラリ類をいれます。
$ brew install libxml2 libxslt libiconv
$ brew link --force libxml2
$ brew link --force libxslt
環境変数を設定した上で、vagrant plugin install
します。
$ export NOKOGIRI_USE_SYSTEM_LIBRARIES=true
$ vagrant plugin install nokogiri
$ vagrant plugin install dotenv