2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Vagrant上でnpm installやcomposer installが出来ないとき

Last updated at Posted at 2016-03-28

環境

  • 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で話を進めます.

  1. SFtpUploadのインストール
    Bracketsの拡張機能マネージャーからSFtpUploadをインストールします.
    brackets_kaku.png
  2. Vagrant上にフォルダUpload
    表示>SFTP UploadからSFtp Uploadのフォーム?を出します.
    brackets_sftp.png
    次に,
    ファイル>フォルダを開く...
    から対象プロジェクトを開き,SFTP UploadのServer SetupからSettingを行います.
    brackets_sftp_setup.png
項目 入力
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の共有フォルダで開発しようと思っている人へ。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?