Создание нового проекта Laravel завершается неудачно при использовании composer create-project - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь создать новый проект Laravel для использования в Homestead, как я много раз успешно делал в прошлом, и выполнил следующую команду:

composer create-project --prefer-dist laravel/laravel test

Но, к сожалению, он не работает с Composer could not find a composer.json file in /home/vagrant/code/test... и оставляет папку «test» пустой.

Полный вывод здесь:

1/2:        http://repo.packagist.org/p/provider-latest$d0bd0b2315439b65010ddf266ff3cd834b7f92edb850d5dd1f8a40c44586751f.json
2/2:        http://repo.packagist.org/p/provider-2019-04$0835fd3847a1c8f8d46ee6dd6da638ec6e9846bf1dce10d9b2f10a0e953bbd04.json
Finished: success: 2, skipped: 0, failure: 0, total: 2
1/2:        http://repo.packagist.org/p/provider-latest$d0bd0b2315439b65010ddf266ff3cd834b7f92edb850d5dd1f8a40c44586751f.json
2/2:        http://repo.packagist.org/p/provider-2019-04$0835fd3847a1c8f8d46ee6dd6da638ec6e9846bf1dce10d9b2f10a0e953bbd04.json
Finished: success: 2, skipped: 0, failure: 0, total: 2
Installing laravel/laravel (v5.8.17)
  - Installing laravel/laravel (v5.8.17): Loading from cache
Created project in test

  [InvalidArgumentException]                                                                              
  Composer could not find a composer.json file in /home/vagrant/code/test                                 
  To initialize a project, please create a composer.json file as described in the https://getcomposer.or  
  g/ "Getting Started" section                                                                            

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] [--remove-vcs] [--no-install] [--ignore-platform-reqs] [--] [<package>] [<directory>] [<version>]

Некоторый контекст: я недавно обновил свой бланк Homestead vagrant до v8.0.0 и исходный код Homestead до v9.0.1 (а затем понизил до v8.0.1 из-за странного поведения, как описано здесь ). Описанная выше проблема создания проекта возникает при использовании Homestead v9.0.1 и v8.0.1.

ОБНОВЛЕНИЕ

Я попытался добавить пустой файл composer.json в папку «test», но это привело к ошибке "./composer.json" does not contain valid JSON.

Я даже скопировал в файл composer.json из проекта laravel / laravel , но это приводит к исключению Could not scan for classes inside "database/seeds" which does not appear to be a file nor a folder во время выполнения (что правильно, поскольку папка «test» содержит только папка vendor, файл composer.json и файл composer.lock).

Я ходил кругами уже пару дней, поэтому любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 05 июля 2019

Так что это оказалось проблемой с разрешением, отлично.

То, что я делаю, и я не использую hometead, но докер (это похоже на мысль), я не запускаю ни команды composer, ни команды laravel из HOST, а изнутри виртуальной машины.

Таким образом, вам не нужно sudo chmod -R a+rwx /home/vagrant/code/test, что плохо (поскольку дает пользователю, группе и другим права на чтение / запись / выполнение)

Просто зайдите в свою приусадебную машину, запустите composer create-project --prefer-dist laravel/laravel test и позже php artisan package:discover, и вам следовало бы избежать всех этих неприятностей.

...