LoginSignup
0
0

More than 3 years have passed since last update.

[超初心者向け]cloud9からローカルへgit cloneする手順(Laravel)

Last updated at Posted at 2020-05-28

はじめに

cloud9で開発したものをローカルにgit cloneします。つまりコピーします。
cloud9とローカルの2刀流で使用している方向けです。cloud9に移行し開発していたが、ローカルとだいぶ内容が変わってしまったという方多いのではないでしょうか。
私も元々ローカルで開発していましたが、諸事情でcloud9にcloneし、そこでで開発していました。しかし夕方のcloud9は動作が重く効率が悪いので、またローカルに戻すことにしました。ローカルディレクトリとファイルがだいぶ変更されているので、一度削除しcloneすることにしました。
元々ローカルの環境構築がされている前提ということはご了承ください。
初心者&初投稿なのでいろいろ大目にみてやってください。

記事内での略 
・DB:データベース

やること

★ローカルの元のディレクトリ(プロジェクト)のDB削除→★同様にローカルのディレクトリ(プロジェクト)削除
→★git clone
→★.envをローカル仕様にする。→★https仕様からhttp仕様にする
→★DB作る→★migrateする

ローカルディレクトリ(プロジェクト)

DB削除

ターミナルを開き、消したいディレクトリ(プロジェクト)まで移動しましょう(cdコマンド)。
そのディレクトリでmysqlを起動しましょう。
mysql -u root
削除したいDBに入りましょう。私のデータベース名は「Tt」なので、
mysql>use Tt
早速消しましょう。
mysql> drop database Tt;
Query OK, 4 rows affected (0.07 sec)

mysqlを終了します。
mysql> quit
Bye

外部制約によるエラー

エラーが出てない方はスルーしてください。もし以下のようなエラーが出たら。
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
「テーブルに外部制約がついていて削除・更新できません」という意味です。外部制約とは、中間テーブルと関係を持ったテーブルは削除できない、という決まりです。以下コードで一時的に外部制約を解除しましょう。
mysql> set foreign_key_checks = 0;
では、削除しましょう。
mysql> drop database Tt;
Query OK, 4 rows affected (0.07 sec)

削除した後は、一時的に無効にした外部制約を有効にしましょう。
set foreign_key_checks = 1;

ローカルのディレクトリ(プロジェクト)削除

現在削除したいディレクトリに移動済みのはずです。なので1つ親のディレクトリに戻りましょう。
$ cd ..
削除したいディレクトリ名は「Tt」なので
$ rm -fr Tt
$ lsコマンドでディレクトリが消えているか確認しましょう。

git clone

現在いるディレクトリにクローンプロジェクトを設置したいはずですので、gitcloneします。
githubのユーザー名:Twice クローンしたいリモートリポジトリ名:Ttの場合は下記コマンドです。
$ git clone https://github.com/Twice/Tt

.env

ローカルのクローンしたディレクトリ直下(エディタファイルツリーのかなり下の方)に.env.exampleがあります。cloud9の内容を.envをコピペして貼りつけ、名前も.exampleを消して.envに変更しましょう。
.envがなければターミナルから作成しちゃいましょう。
$ touch .env
ちなみに私はいじる部分はありません。なぜならデータベースのuser namerootにしているからです。.envを開くとDB_USERNAME=rootと書いてあります。このおかげで権限や認証などめんどくさいことをしないで済んでいます。

composerをインストールする

php artisan serveすると下記エラーが出ませんか?A,Bの2通りのエラーメッセージが報告されています。

A
Warning:
require(/Users/k**********i/Desktop/techboost/Tokumei2/vendor/autoload.php): failed to open stream: No such file or directory in
/Users/k**********i/Desktop/techboost/Tokumei2/artisan on line 18

Fatal error: require(): Failed opening required
'/Users/k**********i/Desktop/techboost/Tokumei2/vendor/autoload.php'
(include_path='.:') in /Users/k**********i/Desktop/techboost/Tokumei2/artisan on line 18
k**********oAir:Tokumei2 k**********i$ composer install
意味は下記です。
/project/artisan の 18 行目で /project/vendor/autoload.php というファイルが求められますが/project/vendor/autoload.php というファイルは存在しません
これはcomposerがやってくれるので、コマンド実行しましょう。
composer install

B
Could not open input file: artisan
こっちのエラーメッセージの場合は、updateしましょう。
composer update

https仕様からhttp仕様にする

https通信がデフォルト、という設定を消す

cloud9ではURL(通信手段)はhttpsで、ローカルでのURLはhttpです。cloud9を使用している方は、httpsになるよう設定しましたよね?設定しないとサーバーに繋いだ時下記エラーが出ると思います。
cloud9では2020年1月あたりからhttpのURLでサーバー接続するとこのようなエラーが出るようになりました。
スクリーンショット 2020-05-28 14.35.47.png
Oops VFS connection does not existエラー
その設定は、app/Providers/AppServiceProvider.phpに書いてあります。
下記コードです。コメントアウトしましょう。
public function boot()
{
if (\App::environment('production')) {
\URL::forceScheme('https');
}
}

ファイル(CSS,Javascriptなど)の読み込みをsecure_じゃなくする

CSSやbootstrapが無効に、適用されなくなっていませんか?私は下図のようになりました。
スクリーンショット 2020-05-28 14.29.55.png
原因はファイル読み込みの記述です。blade.php

タグ内の記述を下記のように変えましょう。{{ secure_asset() }}の部分は全てです。
<link href="{{ secure_asset('css/app.css') }}" rel="stylesheet">
↓変更
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
下図のように元通りになりました。
スクリーンショット 2020-05-28 14.29.36.png

DBを作成する

DB名が'''Tt'''にする場合です。
$ mysql -u root
mysql> create database Tt;

migrateする

DB_USERNAME=rootなので、そのままmigrateします。
$ php artisan migrate
以上で私は問題なく動きました。

最後に

間違った表現や、実は不要な操作があるかもしれませんが、そこはご了承ください。
よくよく考えたらローカル用のリモートリポジトリ作成すればよかったですね。作成します笑

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