環境
- CentOS 7.0
- Vagrant 1.8.1
- Node 0.12.0
- npm 2.5.1
- Composer 1.0-dev
- VirtualBox 5.0.16
原因
-
Npm
共有フォルダである/vagrantと/var/www/htmlをシンボリックリンクを張っていたためらしい.VirtualBoxでは原則的にシンボリックリンクを張ることを禁止している模様. -
Composer
unzipがインストールされていないだけでした...
対策方法
シンボリックリンクを張らないようにする(当然).しかし,共有フォルダのように利用したかったためsftpを用いてフォルダ内にあるファイルをVagrantの指定した先に送信するようにしました.
対策1
Brackets(エディタ)のSFtpUploadを利用しました.SublimeTextなどのエディタでもsftpでUpload出来る拡張機能があるかもしれませんが,ひとまずBracketsで話を進めます.
- SFtpUploadのインストール
Bracketsの拡張機能マネージャーからSFtpUploadをインストールします.
- Vagrant上にフォルダUpload
表示>SFTP UploadからSFtp Uploadのフォーム?を出します.
次に,
ファイル>フォルダを開く...
から対象プロジェクトを開き,SFTP UploadのServer SetupからSettingを行います.
項目 | 入力 |
---|---|
Type | Sftp(SSH) |
Host | 127.0.0.1 |
Post | 2222 |
User Name | root |
RSA Key Path | 未記入 |
Password | vagrant(defaultなら) |
ServerPath | /var/www/html(環境に合わせて変更してください) |
これで動かせることが出来るはずです.ここで行った設定はプロジェクトごとに記憶していますので,大きなプロジェクトの場合はファイル数が多くてBracketsが激おこになっちゃうので,子プロジェクトごとにフォルダを開いてServerの設定をしてあげましょう.
ファイルの内容を変更すると逐次Vagrant上のサーバにUploadしてくれるので便利です.
※注意
子プロジェクトにフォルダが多かったりすると,サーバにファイルを転送してくれない場合がある(原因分かってない)ので,小さくプロジェクトを開いた方が良さそう.
対策2
共有フォルダにシンボリックリンクしながらnpm installやcomposer install出来るようになる方法もあるみたいです.~~私はこの方法でも動かなかったので,~~実際動くようになりました.一部はまだ動いていないですが...参考程度に乗せておきます.
windowsでlaravel5をvagrantの共有フォルダで開発しようと思っている人へ。