rails-tutorialの環境構築でハマったところ記録(未完)

# ハマったところの記録
進捗に応じて追記していきます．
## 環境構築時
### 前提
https://railstutorial.jp/chapters/beginning?version=5.0#sec-development_environment
これに従って，cloud9での環境を作ろうとした．
### cloud9のレイアウトが変わってる件について
#### 問題点
チュートリアル上では，「新しいワークスペースを生成する」という流れで名前を入力してworkspaceの種類選択，その上でrails tutorialを選択するという流れだったが全くそういうのが見つからない
#### 解決
https://qiita.com/takapashi/items/bde8a1b72a75c8b24a89
↑の記事の序盤を参考にした．ただ，記事内では6系のrailsを指定しており，チュートリアルとのずれが懸念されたのでそれ以降はスルー．

##  アプリケーション生成時のエラー
### 問題点
こういうエラーがでた．
```
        run  bundle install
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies.....
sqlite3-1.6.1-x86_64-linux requires ruby version >= 2.7, < 3.3.dev, which is incompatible with the current version, ruby 2.6.3p62
         run  bundle exec spring binstub --all
bundler: command not found: spring
Install missing gem executables with `bundle install
````

ファイルのcreateが一通り終わって，bundle installとbundle exec spring binstub --all を実行しようとして，上手くいっていない．

#### 解決策
エラーメッセージに従って表示されたコマンドをすべて実行した後，改めてbundle installとbundle exec spring binstub --allを実行した．ただ，実行する中で何回かバージョンを変更していたりしていたのと，調べ中にログアウトしてしまってターミナルの内容が消えたので，実行内容は省略．またやる機会があってハマったら書きます(書きたくはない)

### Gemfileの書き換え後のbundle installでエラー
#### 問題点
tutorial中に以下のように書き換えるよう指示があった．

````　:list1-5
source 'https://rubygems.org'

gem 'rails',        '5.0.3'
gem 'sqlite3',      '1.3.13'
gem 'puma',         '3.9.1'
gem 'sass-rails',   '5.0.6'
gem 'uglifier',     '3.2.0'
gem 'coffee-rails', '4.2.2'
gem 'jquery-rails', '4.3.1'
gem 'turbolinks',   '5.0.1'
gem 'jbuilder',     '2.6.4'

group :development, :test do
  gem 'byebug', '9.0.6', platform: :mri
end

group :development do
  gem 'web-console',           '3.5.1'
  gem 'listen',                '3.0.8'
  gem 'spring',                '2.0.2'
  gem 'spring-watcher-listen', '2.0.1'
end

# Windows環境ではtzinfo-dataというgemを含める必要があります
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
````
置き換え後，bundle installを指示通り実行したら以下の通り．

```
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...
Could not find compatible versions

Because rails >= 4.0.0.beta1, < 5.0.5.rc1 depends on bundler >= 1.3.0, < 2.0
and the current Bundler version (2.4.8) does not satisfy bundler >= 1.3.0, <
2.0,
  rails >= 4.0.0.beta1, < 5.0.5.rc1 cannot be used.
So, because Gemfile depends on rails = 5.0.3,
  version solving has failed.

Your bundle requires a different version of Bundler than the one you're running.
Install the necessary version with `gem install bundler:2.0.0.pre.3` and rerun
bundler using `bundle _2.0.0.pre.3_ install`
```

#### 解決策
エラーメッセージ内の指示に従い，以下のコマンドを実行．
```
$ gem install bundler:2.0.0.pre.3
$ bundle _2.0.0.pre.3_ install
```
実行完了後，改めてbound installを実行．エラーなく実行完了できた．

### アプリケーション立ち上げ後の接続プレビュー表示ができない
#### 問題点
 rails server -b $IP -p $PORT実行後，アプリケーションの起動は確認できたものの，プレビューが表示されない．別タブからアドレスを叩くと，「接続が拒否されました」の表示がされてしまう．
#### 解決策
https://qiita.com/hayate_h/items/8977753850b9197c466d
↑こちらを参考にした．
cloud9の同タブ上ではプレビューを表示してくれないままだったけど，別タブを展開してそこに表示すると上手くいった．
## git系

### sshでbitbucketに接続できない
これ，だいぶとこじれてしまって解決できなかったので(gitをガチャガチャやった結果別のなにかとコンフリクトしてpushができなかったり，sshの接続が特定のシチュエーションのときだけできなかったり)，諦めて新しく作りました．
で，ssh接続前までの手順をやった後，公式のssh関連セットアップの資料を見つけたのでそれに従いました．↓
https://support.atlassian.com/ja/bitbucket-cloud/docs/set-up-personal-ssh-keys-on-linux/

ちゃんと調べよう...(猛省)

### リモートへのプッシュ時にもういるよって怒られた時
#### 問題点
上の通り．一応メモ．
#### 解決策
https://qiita.com/hatorijobs/items/1cae1946656ece954c63
リモート上のoriginを一回消すといいらしい．

## heroku
### herokuコマンドを認識してくれなかった．
#### 問題点
 コマンドが使えなかった(heroku: command not found)．
#### 解決
これでいけた．
https://qiita.com/cubicbezier/items/8620dbba5e4c3fd859df

### loginコマンドが使えなかった．
#### 問題点
heroku loginができなかった( Warning: login is not a heroku command)
#### 解決策
このあたりを参考にガチャガチャした．全部が全部合ってる設定というわけじゃないかもだけど，ログインはできた．また次のアプリ作成時に確認する．
https://tanarizm.com/warning-login-is-not
https://qiita.com/queq1890/items/1def659860416e2d90ff