1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Railsチュートリアル1章でつまづいたこと

1
Posted at

 つい最近Railsチュートリアルの1週目を完了しました。全部を通して見て一番大変だった部分はと聞かれると、やはり第1章かなと思います。難度的には優しいとは思うんですが、初めからわからないことだらけだったので、結構苦戦しました。ですので、今回は第1章付近で僕が苦戦した部分とその解決法を3つほど書いていきます。確かこの3つで一週間近く潰れた気がします。

開発環境
macbookPro2018 13inch
AWS cloud9

ssh鍵にメールアドレスはいらない

 第1章 1.4.3でgitbuketにssh鍵を登録する場面があります。sshキーの作成方法は「秘密鍵・公開鍵を作成する(Mac)」がわかりやすかったので、そちらを参照してください。

ssh鍵は

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AA......... == example@example.com

で見ることができます。(コードは見やすくする為に「...」で省略してます。)ただし、この中には一部必要ないものもあります。それがメールアドレスの部分です。上のコードでいう

example@example.com

の部分はssh鍵に必要ない部分なので、その部分以外をgitbuketに登録すれば大丈夫です。

起動するたびにherokuがない

 herokuをインストールするコードはRailsチュートリアルに書いてあって、実際それを実行すればheroku自体を使うことはできます。しかし、翌日になって見たら使えない。というかherokuのバージョン調べて見たらこう出てきた。

$ heroku -v
heroku: command not found

 消えとるやん!でも、まあ消えてるなら入れるしかないので、もう一度入れ直す。一応正常に動く。
 翌日。また消えとるやん!また入れる直す。一応正常に動く。予想通り翌日にまた消える。

 正直、これは入れ直せばいいだけなので、何とかなります。自分もこの状態でRailsチュートリアル最後までやりました。ただ、めんどいので改善を試みました。
 具体的にやったことは2つあって、この2つをやったらherokuが消えなくなりました。ただ、どこで消えなくなったのかわからないので、もしかしたらどちらかだけでも改善するかもです。
 2つともbashというシェルスクリプトに関するものです。シェルスクリプトはまあ、人間とpcの仲介人みたいなものだそうです。詳しくはわからないので、とりあえず試したことだけ記載しときます。

1

$vi ~/.bashrcを開いてその一番下の行に下記コードを追加すること

source $HOME/.profile > /dev/null

 herokuをインストールしたはずが、消えていた参照

2

 ~/.bash_profileを作成すること

$ touch ~/.bash_profile

.bash_profileと.bashrcのまとめ参照

herokuにデプロイする前にyamlを変更する

 Railsチュートリアルでは開発環境をMYSQL,
herokuでの本番環境の時はPostgreSQL
という風に分けられてます。
 Railsチュートリアルでは、Gemfileだけそのように記述しているわけなんですが、
これだと多分下記のようなバグが発生します。

2018-11-02T03:02:43.589214+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/connection_adapters/connection_specification.rb:188:in `rescue in spec': Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError)

バグを発生させない為には、
configディレクトリ内にあるdatabase.ymlのproductionを下記のように変更する必要があります。

database.yml
production:
  <<: *default
  database: db/production.postgresql

Railsチュートリアル第一章 Herokuへデプロイすると"Application error"参照

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?