自分が詰まったところの情報をシェアします。
誰かの助けになれば幸いです。
問題 サンプルコードを書いても動かない
capistranoはver3からコードの書き方が変わっています。deploy.rbに
task: list do on roles(:all) do execute "ls" end end
と書き、config/deploy/production.rbを設定した後で
.gitignoreにGemfile.lockを含めたままbundle installを成功させる方法を知っている方が居らっしゃったら、教えて下さい。cap production taskを入力すると、production環境におけるlsの実行結果が出力されます。
問題 shellのコマンドを実行したいのに、runが動かない
shellのコマンドを実行したい場合、runではなくexecuteを使います。execute "ls"
問題 ローカルで変更した内容が反映されない
gitのリポジトリを設定した場合、設定したリポジトリの内容がデプロイされます。 なので、ローカルで変更した内容をリモートサーバに反映したい場合、pushしておく必要があります。 これに気づくまで、変更内容が反映されなくて困りました。問題 capistranoを通したbundle installが出来ない Gemfileに
gem 'rvm1-capisstrano3', require: nilを追加します。 Gemfile.lockが.gitignoreに含まれていてもbundle installが成功しません。
エラー対応 undefined method `namespace' for main:Object (NoMethodError)
Gemfile
gem 'rvm1-capistrano3'
Gemfile
gem 'rvm1-capistrano3', require: nil
エラー対策 app error: undefined method `pp'
production環境にはppが無いので、ppが含まれているコードを消すか、requireでppを呼ぶか、別の方法で出力する必要があります。エラー対策 onImage.png isn't precompiled
下記の設定をしました。
config/environment/production.rb
config.assets.compile = true
参考
undefined method `namespace' for main:Object (NoMethodError)
0 件のコメント :
コメントを投稿