Vagrant에서 npm install이나 composer install을 할 수 없을 때

환경


  • 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



    브래킷 (편집기)의 SFtpUpload를 사용했습니다. SublimeText 등의 에디터에서도 sftp로 Upload 할 수 있는 확장 기능이 있을지도 모르지만, 일단 Brackets로 이야기를 진행시킵니다.
    1. SFtpUpload 설치
    Brackets Extension Manager에서 SFtpUpload를 설치합니다.

    2. Vagrant에 폴더Upload
    보기 > SFTP 업로드에서 SFtp 업로드 양식? 를 꺼냅니다.

    다음으로,
    파일 > 폴더 열기...
    에서 대상 프로젝트를 열고 SFTP Upload의 Server Setup에서 Setting을 실행합니다.



    품목
    입력


    유형
    Sftp(SSH)

    Host
    127.0.0.1

    Post
    2222

    사용자 이름
    루트

    RSA Key Path
    미기입

    Password
    vagrant(default라면)

    ServerPath
    /var/www/html (환경에 맞게 변경하십시오)


    이것으로 움직일 수 있을 것입니다. 여기에서 한 설정은 프로젝트별로 기억하고 있으므로 큰 프로젝트의 경우 파일 수가 많아서 Brackets가 격렬하게 버리므로 자식 프로젝트마다 폴더를 열고 Server 설정을 해 드리겠습니다. 쇼.

    파일의 내용을 변경하면 순차 Vagrant 상의 서버에 Upload 해 주기 때문에 편리합니다.

    ※주의
    자식 프로젝트에 폴더가 많거나 하면, 서버에 파일을 전송해 주지 않는 경우가 있기 (원인 모르는) 때문에, 작게 프로젝트를 여는 것이 좋을 것 같다.

    대책 2



    공유 폴더에 심볼릭 링크하면서 npm install이나 composer install 할 수 있게 되는 방법도 있는 것 같습니다. 나는이 방법으로도 움직이지 않았기 때문에 실제로 움직이게되었습니다. 일부는 아직 움직이지 않지만. . . 참고 정도에 올려 둡니다.
    windows에서 laravel5를 vagrant의 공유 폴더로 개발하려는 사람들에게.

    좋은 웹페이지 즐겨찾기