Как сгенерировать laravel composer.json из каталога поставщика?

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

1 ответ

Решение

Заметка

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

Совет

Я рекомендую вам использовать какой-нибудь контроль версий, например, git, чтобы преодолеть такие ситуации в будущем

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

создать новый composer.json такой файл в корне проекта. вы могли бы использовать 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"
    }
}
  • перейдите в каждую папку пакета в папке vendor и найдите файл пакета composer.json. из этого файла найдите "name" этого пакета из этого файла composer.json.
  • добавить это имя пакета в основной файл composer.json "require" часть. если вы хотите добавить этот пакет в разработку, добавьте его в часть "require-dev".

  • composer install или же composer update

  • composer dump-autoload
Другие вопросы по тегам