LoginSignup
6
5

More than 5 years have passed since last update.

vagrant環境で開発してcapistranoでデプロイするとGemefile.lockがないとか色々怒られたよ

Posted at

Gemfile.lockがないだって!?

カッコつけてキーボードを
bundle exec cap staging deploy
とか叩きつけると以下のように怒られちゃいます。

The --deployment flag requires a Gemfile.lock. Please make sure you
have checked your Gemfile.lock into version control before deploying.

Gemfile.lockを監視対象に入れろと言われてしまいます。
ですが.gitignoreのどこを見ても除外対象にはしていないわけです。これは困ったね。

原因:vagrantを使用していてリポジトリのルートとアプリのルートが一致してないかった

githubでもbitbucketでもいいですが、リポジトリを確認してみるとうっかりちゃっかりこんな感じになってませんか?

.chef
vagrant
├.capistrano
├app
├assets
└......
.gitignore

アプリのルートがvagrant/であると教えてあげる必要があります。
capistrano3.1以降だとワンライナーで書けてしまうようです。

set :repo_tree, 'vagrant'

自分の場合dotenvを使用してrepourlを指定しているので、以下のように。

require 'dotenv'
Dotenv.load
lock '3.3.5'
set :repo_url, ENV['REPO_URL']
set :repo_tree, 'vagrant'

盲点タイプのハマりどころで検索しても全くヒットしないので(自分のためにも)書き記しておきます。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5