J’utilise Vagrant et Laravel Homestead avec Ubuntu 14.
Voici l’erreur que j’ai quand je lance laravel new
:
vagrant@homestead:~/sites$ laravel new chatty Crafting application... PHP Warning: file_put_contents(/home/vagrant/sites/laravel_e4dd1c8bc2e02a3e6897f5728f025b4a.zip): failed to open stream: Permission denied in /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php on line 120 PHP Stack trace: PHP 1. {main}() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:0 PHP 2. Symfony\Component\Console\Application->run() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:13 PHP 3. Symfony\Component\Console\Application->doRun() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:123 PHP 4. Symfony\Component\Console\Application->doRunCommand() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:192 PHP 5. Symfony\Component\Console\Command\Command->run() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:844 PHP 6. Laravel\Installer\Console\NewCommand->execute() /home/vagrant/.config/composer/vendor/symfony/console/Command/Command.php:259 PHP 7. Laravel\Installer\Console\NewCommand->download() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:53 PHP 8. file_put_contents() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:120 Warning: file_put_contents(/home/vagrant/sites/laravel_e4dd1c8bc2e02a3e6897f5728f025b4a.zip): failed to open stream: Permission denied in /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php on line 120 Call Stack: 0.0001 350512 1. {main}() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:0 0.0159 1713096 2. Symfony\Component\Console\Application->run() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:13 0.0186 1928584 3. Symfony\Component\Console\Application->doRun() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:123 0.0187 1928584 4. Symfony\Component\Console\Application->doRunCommand() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:192 0.0187 1928584 5. Symfony\Component\Console\Command\Command->run() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:844 0.0189 1930520 6. Laravel\Installer\Console\NewCommand->execute() /home/vagrant/.config/composer/vendor/symfony/console/Command/Command.php:259 0.0196 1930672 7. Laravel\Installer\Console\NewCommand->download() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:53 2.2559 2917832 8. file_put_contents() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:120 PHP Warning: ZipArchive::extractTo(): Permission denied in /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php on line 138 PHP Stack trace: PHP 1. {main}() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:0 PHP 2. Symfony\Component\Console\Application->run() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:13 PHP 3. Symfony\Component\Console\Application->doRun() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:123 PHP 4. Symfony\Component\Console\Application->doRunCommand() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:192 PHP 5. Symfony\Component\Console\Command\Command->run() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:844 PHP 6. Laravel\Installer\Console\NewCommand->execute() /home/vagrant/.config/composer/vendor/symfony/console/Command/Command.php:259 PHP 7. Laravel\Installer\Console\NewCommand->extract() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:54 PHP 8. ZipArchive->extractTo() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:138 Warning: ZipArchive::extractTo(): Permission denied in /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php on line 138 Call Stack: 0.0001 350512 1. {main}() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:0 0.0159 1713096 2. Symfony\Component\Console\Application->run() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:13 0.0186 1928584 3. Symfony\Component\Console\Application->doRun() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:123 0.0187 1928584 4. Symfony\Component\Console\Application->doRunCommand() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:192 0.0187 1928584 5. Symfony\Component\Console\Command\Command->run() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:844 0.0189 1930520 6. Laravel\Installer\Console\NewCommand->execute() /home/vagrant/.config/composer/vendor/symfony/console/Command/Command.php:259 2.2601 2736952 7. Laravel\Installer\Console\NewCommand->extract() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:54 2.2601 2737032 8. ZipArchive->extractTo() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:138 PHP Warning: ZipArchive::close(): Invalid or uninitialized Zip object in /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php on line 140 PHP Stack trace: PHP 1. {main}() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:0 PHP 2. Symfony\Component\Console\Application->run() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:13 PHP 3. Symfony\Component\Console\Application->doRun() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:123 PHP 4. Symfony\Component\Console\Application->doRunCommand() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:192 PHP 5. Symfony\Component\Console\Command\Command->run() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:844 PHP 6. Laravel\Installer\Console\NewCommand->execute() /home/vagrant/.config/composer/vendor/symfony/console/Command/Command.php:259 PHP 7. Laravel\Installer\Console\NewCommand->extract() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:54 PHP 8. ZipArchive->close() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:140 Warning: ZipArchive::close(): Invalid or uninitialized Zip object in /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php on line 140 Call Stack: 0.0001 350512 1. {main}() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:0 0.0159 1713096 2. Symfony\Component\Console\Application->run() /home/vagrant/.config/composer/vendor/laravel/installer/laravel:13 0.0186 1928584 3. Symfony\Component\Console\Application->doRun() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:123 0.0187 1928584 4. Symfony\Component\Console\Application->doRunCommand() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:192 0.0187 1928584 5. Symfony\Component\Console\Command\Command->run() /home/vagrant/.config/composer/vendor/symfony/console/Application.php:844 0.0189 1930520 6. Laravel\Installer\Console\NewCommand->execute() /home/vagrant/.config/composer/vendor/symfony/console/Command/Command.php:259 2.2601 2736952 7. Laravel\Installer\Console\NewCommand->extract() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:54 2.2605 2737032 8. ZipArchive->close() /home/vagrant/.config/composer/vendor/laravel/installer/src/NewCommand.php:140 You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug Composer could not find a composer.json file in /home/vagrant/sites To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section Application ready! Build something amazing.
Quand je lance sudo laravel new
, il dit
sudo: laravel: command not found
Est-ce aussi le problème d’Ubuntu 14 installé dans Vagrant au lieu d’Ubuntu 16?
Modifier (après les commentaires kmasteryc):
Merci, mais j’ai aussi essayé votre composer create-project laravel/laravel project
, mais maintenant je reçois cette erreur
vagrant@homestead:~/sites$ composer create-project laravel/laravel chatty You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug Installing laravel/laravel (v5.2.31) [ErrorException] mkdir(): Permission denied create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--no-install] [--ignore-platform-reqs] [--] [] [] []
Ensuite, je l’ai exécuté avec sudo
et cela a fonctionné, mais il donne cet avertissement maintenant:
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Existe-t-il un moyen d’exécuter cette commande sans sudo
car cela n’est pas recommandé ?
De plus, il ne s’agit pas de synchroniser le projet créé avec mon répertoire local et après avoir mappé chatty.dev dans le dossier “chatty” (hébergement virtuel), puis exécuté la vagrant provision
errante, j’obtiens l’erreur ci-dessous.
harman@manchanda:~/web/Homestead$ vagrant provision There are errors in the configuration of this machine. Please fix the following errors and try again: vm: * The host path of the shared folder is missing: ~/web/sites/chatty
Et mon code est correct. Mais encore, s’il vous plaît voir ce code fichier homestead.yaml
aussi:
--- ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: ~/web/sites/lv to: /home/vagrant/sites/lv - map: ~/web/sites/v8 to: /home/vagrant/sites/v8 - map: ~/web/sites/chatty to: /home/vagrant/sites/chatty sites: - map: lv.app to: /home/vagrant/sites/lv/public - map: v8.app to: /home/vagrant/sites/v8/public - map: chatty.dev to: /home/vagrant/sites/chatty/public databases: - homestead - homestead_v8 - homestead_chatty
Edit no 2:
Voici mon nouveau fichier Homestead.yaml
après kmasteryc demandé modifier
--- ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: ~/web/sites/ to: /home/vagrant/sites/ # - map: ~/web/sites/lv # to: /home/vagrant/sites/lv # - map: ~/web/sites/v8 # to: /home/vagrant/sites/v8 # - map: ~/web/sites/chatty # to: /home/vagrant/sites/chatty sites: - map: lv.app to: /home/vagrant/sites/lv/public - map: v8.app to: /home/vagrant/sites/v8/public # - map: chatty.dev # to: /home/vagrant/sites/chatty/public databases: - homestead - homestead_v8 # - homestead_chatty
Note spéciale: J’ai déjà commenté cette chose bavarde.
Cette laravel new
fonctionne maintenant (grâce aux sudo chmod 777 -R sites
et sudo chown -R vagrant sites
), mais le problème persiste avec les dossiers Vagrant et non synchronisés.