質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • Laravel 5

    1988questions

    Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

laravel homestead 環境構築できない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 376

zombieheli

score 8

お世話になっております。

https://qiita.com/7968/items/97dd634608f37892b18a

こちらを参照しながら環境構築を試みているのですが
homestead.appを見てもやたらとロード画面が長くてみることができませんでした。

homestead.yamlの中身です。

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/code
      to: /home/vagrant/code

sites:
    - map: homestead.app
      to: /home/vagrant/code/public

databases:
    - homestead

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

追加点

vagrant plugin install vagrant-hostsupdaterをしたあと
vagrant reload --provisionをすると

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

/sbin/ifdown 'eth1' || true
/sbin/ip addr flush dev 'eth1'
# Remove any previous network modifications from the interfaces file
sed -e '/^#VAGRANT-BEGIN/,$ d' /etc/network/interfaces > /tmp/vagrant-network-interfaces.pre
sed -ne '/^#VAGRANT-END/,$ p' /etc/network/interfaces | tac | sed -e '/^#VAGRANT-END/,$ d' | tac > /tmp/vagrant-network-interfaces.post
cat \
  /tmp/vagrant-network-interfaces.pre \
  /tmp/vagrant-network-entry \
  /tmp/vagrant-network-interfaces.post \
  > /etc/network/interfaces
rm -f /tmp/vagrant-network-interfaces.pre
rm -f /tmp/vagrant-network-entry
rm -f /tmp/vagrant-network-interfaces.post

/sbin/ifup 'eth1'

Stdout from the command:



Stderr from the command:

bash: line 5: /sbin/ifdown: No such file or directory
bash: line 19: /sbin/ifup: No such file or directory


このようなエラーが現れます。
このエラーは自分が環境構築しようとしていたときにも何回も発生しております。
ですのでこれが環境構築できない原因ではないかと素人の意見ですが思っております。

追記3に関しまして

なるほど。
仮想マシンとホストOSはリンクしているわけですね。てっきり仮想マシン上に毎回入らないと編集できないと思っておりました.....

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • zombieheli

    2018/05/30 16:58

    はい。vagrant sshでhomestead仮想マシン内には入ることはできます。

    キャンセル

  • dyoshikawa

    2018/05/30 17:32 編集

    仮想マシン内に/home/vagrant/codeにlaravelのソースコードはありますか?あと、それから今更ですが、仮想マシン起動中に192.168.10.10への接続も試してみてください。

    キャンセル

  • zombieheli

    2018/05/30 17:57

    /home/vagrant/codeのcodeのディレクトリーがないです。また、192.168.10.10にアクセスしますと無限ロードになってしまいます。よろしくお願いいたします。

    キャンセル

回答 1

checkベストアンサー

+1

/home/vagrant(=vagrant sshで仮想マシンに入った直後)で

composer create-project laravel/laravel code --prefer-dist "*"

を実行してみて下さい。

 追記

解決に至らなかったようなので、次のことも試してみて下さい。

  • vagrant-hostsupdaterプラグインを導入していない場合はvagrant plugin install vagrant-hostsupdaterでインストール。その後、vagrant reload --provisionで仮想マシン再起動。
  • Homestead.yamlのhomestead.apphomestead.testに変更してvagrant reload --provision

今更ですが公式ドキュメントの日本語訳リンクを貼っておきます。
https://readouble.com/laravel/5.6/ja/homestead.html

 追記2

解決されたのですね。よかったです。
あくまで予測ですが、homestead.appがよくなかったのではないかと思っています。
.appは実在するトップドメインだからです。
私も深い理解には至っていないですが、実在するトップドメインをローカル開発環境で使おうとするとhttp通信が許可されない(=httpsのみ)挙動でうまく開発できないというような話を聞いたことがあります。

https://gigazine.net/news/20180502-google-domain-app/

.appは比較的最近登場したようです。

https://japan.cnet.com/article/35118647/

完全HTTPSとあるのでやはりローカル開発に用いるには不適と思います。

 追記3

ソースの編集の仕方について。
Homestead.yamlにホストのディレクトリと仮想マシンのディレクトリをシンクロさせる設定項目があります。

folders:
    - map: ~/code # ホストマシン側
      to: /home/vagrant/code # 仮想マシン側

mapの値を書き変えれば好きなディレクトリを設定できます。
例えば、

folders:
    - map: ~/development/myproject
      to: /home/vagrant/code

こうするとホストのmyprojectと仮想マシンのcodeがシンクロします。
設定を反映するにはvagrant reload --provisionで再起動する必要があります。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/30 18:44

    ありがとうございます。
    codeディレクトリーが作られ中にlaravelが入りました。
    ただ、依然としてhomestead.appもしくは192.168.10.10でウェブブラウザをみることができません。

    キャンセル

  • 2018/05/30 18:51

    セキュリティソフトは入っていないですよね?

    キャンセル

  • 2018/05/30 18:55

    追記もご覧下さい。

    キャンセル

  • 2018/05/30 21:30

    ありがとうございます。
    セキュリティーソフトは特に入れていないです。

    キャンセル

  • 2018/05/30 21:37 編集

    ありがとうございます。質問欄の追記を拝見しました。以下確認させて下さい。①vagrantとvirtualboxのバージョンを教えて下さい②vagrantで複数の環境を立ち上げたりしましたか?③~/.ssh/下にid_rsaキーを生成していますか?

    キャンセル

  • 2018/05/30 21:50

    ①Vagrant 2.0.2 バージョン 5.2.8
    ②複数というのは複数のディレクトリーで立ち上げたということでしょうか?それでしたら複数の環境を立ち上げました。
    ③生成をしております。
    よろしくお願いいたします。

    キャンセル

  • 2018/05/30 21:53

    こちらhomestead.testで表示することができました!

    キャンセル

  • 2018/05/30 21:54

    ちなみに複数プロジェクトを作るときは
    composer create-project laravel/laravel code --prefer-dist "*"
    こちらのcodeの部分を任意の名前にすればよいのでしょうか?

    キャンセル

  • 2018/05/30 21:54

    ありがとうございます。①vagrantが最新でないので最新にしてみて下さい(確か2.1.1)。virtualboxはそのままで良いと思います(たぶん)。②複数環境立ち上げること自体は問題ないのですが、IPアドレスが被るとエラーになります(今回の場合は192.168.10.10)。一度virtualboxのコンソールを開いて使用するVM以外のVMをすべてシャットダウンして下さい。③それなら大丈夫ですね。

    キャンセル

  • 2018/05/30 22:03

    解決されたのですね。よかったです。あくまで予測ですが、homestead.appがよくなかったのではないかと思っています。.appは実在するトップドメインだからです。私も深い理解には至っていないですが、実在するトップドメインをローカル開発環境で使おうとするとhttp通信が許可されない(=httpsのみ)挙動でうまく開発できないというような話を聞いたことがあります。

    キャンセル

  • 2018/05/30 22:03

    vagrant最新にしたいと思います。
    ipアドレスがかぶるとエラーになるのは知らなかったです。
    バーチャルボックスのシャットダウンというのは電源オフで大丈夫でしょうか?

    キャンセル

  • 2018/05/30 22:06

    解決したのでよかったです。
    homestead.appがよくなかったのですね。いままでmampでlaravelは学習していたのでこの構築にはかなり深みにはまりました(汗)初歩的な質問で申し訳ないのですがlaravelのフォルダをどのように編集すればいいのでしょうか?

    キャンセル

  • 2018/05/30 22:11

    順番に回答しますと、①プロジェクトは1つの仮想マシンの中に複数作ってもいいですが、私は仮想マシンごと分けたい派です。つまり1仮想マシンにつき1プロジェクトです。②ホストマシン側に~/codeというディレクトリはできていないでしょうか?

    キャンセル

  • 2018/05/30 22:17

    ①つまり1仮想マシンにつき1プロジェクトです。
    ->なるほど参考になります。
    ②ありました〜 ありがとうございます。

    キャンセル

  • 2018/05/30 22:20

    引き続き頑張ってください。

    キャンセル

  • 2018/05/30 22:25

    あ、一つ回答していませんでしたがvirtualboxは電源オフで大丈夫です。ちなみにvagrantコマンドでやりたい場合はvagrant haltというコマンドがあります。

    キャンセル

  • 2018/05/30 22:32

    php artisanコマンドに関しては仮想マシンに入って実行する必要があるのでご注意下さい。

    キャンセル

  • 2018/05/31 00:25

    ありがとうございます。
    疑問に思うことがあるのですがMAMPを使わずこのような環境構築で作るメリットというのは何でしょうか?
    MAMPは簡単だったのですがこちらを構築するのに丸3日くらいはかかりました(汗)

    キャンセル

  • 2018/05/31 00:40 編集

    質問者様と逆の意見になりますが、仮想マシンの中に必要なものが全部入りなので、環境構築が楽だからですね。ほとんどvagrantupするだけなので、私は初見で15分くらいで構築できて「homesteadすごい」という感想でした。少々のlinux知識があればvagrantはすごく便利なので慣れておいて損はありません。業務でもよく使われます。逆に仕事でMAMPを使うことはないと思います。最初は辛いと思うのですが、linuxコマンドやサーバー知識が嫌でも身につくので、頑張ってみて下さい。これらは本番サーバー構築など、業務で必ず役に立つ知識です。

    キャンセル

  • 2018/05/31 01:09

    なるほど。逆に楽なんですね(笑)
    エラーの深みにはまることはないんですか?
    ターミナルを使うと結構おきるのですが....

    キャンセル

  • 2018/05/31 01:15 編集

    何度もありますが、プログラミングを仕事にするならどの道エラーとの戦いは避けて通れませんし、その積み重ねがあるからこういう所で回答して人の役に立ててる訳なので、苦ではないです。あと、単に私が環境構築好きというのもあります。

    キャンセル

  • 2018/05/31 16:39

    なるほど。たしかにプログラマーとってエラーは避けては通れないですね
    自分も環境構築好きになりたいです。

    キャンセル

関連した質問

同じタグがついた質問を見る

  • Laravel 5

    1988questions

    Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。