久しぶりにNVMを使ってNodeの環境構築を行って、Laravel5にはCSRFチェックを行ってるって知りました
NVMを使ったNodeのバージョン管理できる環境構築
※環境構築手順書の記事ではありません。
※正しい手順でやりたい場合は、他のサイトを読むことをお勧めします。
最初は別プロジェクトの環境構築から
フロント側をVue.js バック側をnodeのexpressを使うらしい
expressは昔に使ったことがある。Vue.jsは触りたいと思っていたからすごい嬉しい
まずは、npmを入れよう
会社のPCにはbrewが入っているから、今回はbrewを使って入れよう
$ brew --version Homebrew 1.2.1 $ brew install node
あ。。。brewのupdateするのを忘れてた。。。
いつも先にupdateをするんだけど、まぁいいか
node 5.3.0 is already installed
あれ?もう入ってるやんけ笑
$node ls-remote
なんでエラー吐くんやって思ったけど、nvmだったわ笑
久しぶりすぎて色々忘れてた笑
nodeは入ってたけど、nvmが入っていないので入れていきます
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
.bash_profileの中身を見たけど、pathの設定がしてあった
Why? 勝手にやってくれるようになったの?
Gitからプロジェクトをcloneして、npm install
なんかnodeのバージョンが変みたいなエラーが出てた気がする
$npm run hoge
起動しない。。。webpack関係のエラーみたい
nvmでnodeのバージョンを変えて色々やってみる
(バージョンの指定がしていない環境構築手順書ってどうなん?)
色々やってみたけど
nodeのバージョンをv6.11.2にして、エラーが出まくっててよくわからなかったので、
エラーに書いてあったコマンドを実行
バージョンの違いによって起きた問題をリビルドして直す感じ?
npm rebuild node-sass --force
正直何が問題だったのかよくわかりませんでしたが、
うまく動作するようになりました
多分、npm installをした際のnodeのバージョンが古くて、うまくモジュールをインストールできていなかった?
nodeのバージョンをあげて、リビルドすることでいい感じの環境になったのかな?
環境構築は完了
次の作業に移る
Laradockのシステムの修正
次は前回の続きで、Laravelの案件
アプリケーションからDockerを起動して、
Laradockを起動
$docker-compose up -d apache2 postgres $docker ps
URLにアクセスして、ちゃんと表示される
では、GitHubから最新verを持ってこよう
なんかめちゃくちゃコンフリクトしてる。。。
$git reset --hard
とかやっても、ローカルの変更が元に戻ってもpullしようとするとコンフリクトが起きて
もう一度statusを見てみると、新しいファイルと変更だらけ。。。
よくわからないから、社員さんに聞いたけど、
削除して、もう一度クローンした方が早いよと言われてそうすることに
Laravelのバージョンを変えたのがコンフリクト大量発生の原因らしい
あまりこういうパワー系は好きじゃないけど、やるか
調べたいけど、一応バイトだから給料もらってるわけだし、自己満足にお金をもらうわけにはいかない
最短時間でできるならそれをやらなければ
元に戻った
DBのMigrationをするみたい
MigrationはNodeでしかやったことないから、PHPではどうやってやるんだろう
laravel Migration 検索検索!
どうやら
$php artisan migrate
でいけるみたい
DBに接続しようとしてSequel Proを使ったんだけど、これってPostgres対応していないんだね笑
今まで会社でもプライベートでもコマンドでやってたから知らなかった
PSequelがいいみたいなので、これをインストールしてみる
PSequelを使って接続を試みたが、なぜか失敗
コマンドで接続を試みるが、失敗
だけど、今回のシステムを立ち上げてPostgresからデータを取ってくる画面に行くと、
ちゃんとエラーは起きていない(データベースを作っただけで中身は入れてないから、表は空白)
色々調査したんだけどわからなかった
自分の中の結論は、他のプロジェクトでPostgresを扱っていて、そいつがデーモンで動き続けている
よって、接続しようとすると、そっちに接続しようとして、そのUsernameはないよと言われるって感じ
でも、なぜ二つのDocker環境のPostgresに直接接続する方法を今度調べておこう
とりあえず、情報を登録する画面の作成に入る
色々あったけど、今回知ったのはLaravel5からPOST送信でCSRFチェックってのを行っているらしい
だから、Formの中にCSRFのトークンを渡すコードを書くみたい
» Laravelのフォーム送信で「TokenMismatchException in VerifyCsrfToken.php」エラーの対処方法。|コワーキングスペース管理人のブログ
感想
LaravelでDBに登録する画面を作成していて思ったのは、Laravelの知識がとても足りていない
そして、IoCなどの概念を理解できていないということ
今度調べてブログに書きたいと思う