在我的laravel项目中,删除了composer.json
和composer.lock
文件,我不知道如何从现有vendor
目录中重建composer.json
文件。
note
使用此方法的缺点是主composer.json文件将包括现有或子软件包或多个软件包所需的一些软件包。但是不用担心它将仅安装一次。但是版本可能会有问题。
建议
我建议您使用某些版本控件(例如git)来克服以后的情况。
无法保证我将提出以下方法,因为它不是通常的情况。 但可能起作用。
在Project root中创建一个新的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"
}
}
- 转到供应商文件夹中的每个软件包文件夹,然后找到软件包的Composer.json 文件。从该文件中找到该软件包的
"name"
从该composer.json文件。 将软件包的名称添加到 MAIM COMPOSER.JSON 文件的
"require"
部分。如果要将该软件包添加到开发中,则将其添加到" require-dev"部分。composer install
或composer update
-
composer dump-autoload