経緯

時間の使い方がへたで新しいMBPにかまってあげられない。
が、そろそろプロジェクトでちゃんと自分のを使いたい。

というわけで環境構築(?)する。
勉強のため、というより絶対すぐ忘れるからメモする。

やったこと

まずDockerをインストール。くじらさん我が家へようこそ。

公式から普通にインストール(会員登録が必要)
https://www.docker.com/

で、諸先生方が虎の巻を用意してくださっているので、とにかく上から順にやる。

$ git clone https://githubのURL {開発環境用ディレクトリ}
$ cd {開発環境用ディレクトリ}
$ git submodule init
$ git submodule update
$ git clone {プロジェクトのリポジトリURL} src
$ cp src/.env.example src/.env
$ cp .env.laradock laradock/.env
$ cd laradock
$ docker-compose up -d –build nginx mysql workspace
$ docker-compose exec workspace composer install
$ docker-compose exec workspace npm install
$ docker-compose exec workspace php artisan key:generate

他にも、いただいたSlackの履歴にあったから「たぶんこれもやった気がする」ということで、このコマンドも実行してみた。

$ docker-compose exec workspace composer install
$ docker-compose exec workspace php artisan migrate
$ docker-compose exec workspace composer dump-autoload
$ docker-compose exec workspace php artisan db:seed

エラー

いろいろやったしそろそろプロジェクトの作業はじめられるかな〜?(←よくわかってない)と思ってgit pullして、とりあえずroute:listでチェックしようと、

$ php artisan

!?

なんかすごい赤い…普通にphp artisanっぽいのを打とうものなら全部同じエラーで怒られるのはなんで…

試しにProviderRepository.phpを探して208行目をチェック→「return new $provider($this->app);」とか書いてある→わからん

じゃあ「’Way\Generators\GeneratorsServiceProvider’がないぞ」っていうエラーなんだからこの文字列?をぐぐろう

Laravel4、ジェネレーターパッケージ

「config/app.phpに追加してね」と書いてある!なるほど!→app.phpにはすでに記述されてました…

「not found」とはなんだったのか。

仕方ないのでひたすらぐぐった。
ぐぐっても「なるほどわからん」という感想しかなくてさらにぐぐって10記事くらい読んでいるとわからんけど共通している方向性のようなものがつかめてきて、要はcomposer.jsonになんか追加すればいいのでは?となった。

http://laravel4.winroad.jp/2014/05/21/generators%E3%81%AE%E5%B0%8E%E5%85%A5/
https://dog-ears.net/laravel/160323/

でも記事によって追加する場所が「require」か「require-dev」かちがうしバージョン(らしきもの)の書き方もちがう…

最終的に作ってる人の公式?githubのページを読んだ
https://github.com/JeffreyWay/Laravel-4-Generators

解決

で、すでにcomposer.jsonにある他のパッケージ?の書き方に合わせたので

  • プロジェクトで使うファイルがあるところのcomposer.jsonで、
  • “require-dev”: { のところに、
  • “way/generators”:”^2.0″ と書いて
  • $ docker-compose exec workspace composer install からやり直した

が実際にやったことでした。

平和…!

そして無事に作業できるようになりました。たぶん。
けど果たして正解なのかはわからん。

追記

翌日になって「もしやこのファイルってgit管理されているのでは…?」とようやく気がつき、リモートにある正しいファイルを確認した結果→元のエラーになる状態のファイルが正しいみたい…

なんで…(たぶんつづく)


narita

げんきです

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です