2016-12-16 15 views
2

В моем проекте laravel файлы composer.json и composer.lock были удалены, и я не знаю, как перестроить файл composer.json из существующего каталога поставщика. , пожалуйста, мне нужна помощь или, по крайней мере, какая-либо догадка, которая может помочь мне решить эту проблему.Как создать laravel composer.json из каталога поставщика?

ответ

3

Примечание

Недостаток использования этого метода является то, что основным файл composer.json будет включать в себя некоторые из пакетов, которые требовались от существующих или подстраниц пакетов или несколько пакетов. но не беспокойтесь, он будет установлен только один раз. но могут возникнуть проблемы с версиями.

Advice

Я рекомендую вам использовать некоторые контроля версий Git для преодоления таких ситуаций в будущем.

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

создайте новый файл composer.json, как это в проекте root. вы можете использовать команду composer init, если хотите.

{ 
    "name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "require": { 
     "php": ">=5.6.4", 
     "laravel/framework": "5.3.*" 
    }, 
    "require-dev": { 
     "fzaninotto/faker": "~1.4", 
     "mockery/mockery": "0.9.*", 
     "phpunit/phpunit": "5.6", 
     "symfony/css-selector": "3.1.*", 
     "symfony/dom-crawler": "3.1.*" 
    }, 
    "autoload": { 
     "classmap": [ 
      "database" 
     ], 
     "psr-4": { 
      "Blog\\": "app/" 
     } 
    }, 
    "autoload-dev": { 
     "classmap": [ 
      "tests/TestCase.php" 
     ] 
    }, 
    "scripts": { 
     "post-root-package-install": [ 
      "php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 
     ], 
     "post-create-project-cmd": [ 
      "php artisan key:generate" 
     ], 
     "post-install-cmd": [ 
      "Illuminate\\Foundation\\ComposerScripts::postInstall", 
      "php artisan optimize" 
     ], 
     "post-update-cmd": [ 
      "Illuminate\\Foundation\\ComposerScripts::postUpdate", 
      "php artisan optimize" 
     ] 
    }, 
    "config": { 
     "preferred-install": "dist" 
    } 
} 
  • перейти к каждой папке пакета внутри папки поставщика и найти composer.json файл в пакета. из этого файла найдите "name" этого пакета из этого файла composer.json.
  • добавьте это название пакета в main composer.json file's "require" часть. если вы хотите добавить этот пакет в развитие, добавьте его в раздел «require-dev».

  • composer install или composer update

  • composer dump-autoload
0

Если вы не используете систему управления версиями, такую ​​как Git, и не делаете резервных копий, я думаю, что лучший вариант будет использовать какой-то восстановить программное обеспечение для восстановления файла. Мне нравится Uneraser.

Попробуйте это первым, и если это не поможет, другой вариант (если проект еще не большой) будет принимать default Laravel composer.json file и добавлять пакеты вручную.