Структура проекта с композитором - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь создать проект с composer-файлом.
Причина - это прежде всего зависимость, которую я никогда не хочу загружать в git.
Моя предполагаемая структура такова:

проект корневая папка
- подпапка (и) проекта
- поставщик (с require d зависимостями)
- index.php
- composer.json
- README.md

Но установленная структура с использованием composer такова:

проект-корневой папке
- поставщик
- вендор / композитор
- vendor / smarty (зависимость)
- vendor / my-project
- composer.json

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

Это содержимое одного файла композитора, который я пробовал:

{   
    "name": "wdb/tutorial-oop",  
    "require": {  
        "smarty/smarty": "~3.1"  
    }
}  

Когда я попробовал этот контент composer-json в локальном файле и просто расшифровал composer install, я получил ту же структуру:

{  
    "require": {  
        "wdb/tutorial-oop": "dev-master"  
    }
}  

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

Edit:
По запросу здесь мой полный файл композитора внутри корня проекта:

{
    "name": "wdb/tutorial-oop",
    "type": "project",
    "description": "Your package description goes here",
    "keywords": ["oop","mvc","tutorial"],
    "homepage": "https://barlians.com",
    "license": "GPL-3.0-or-later",
    "authors": [
        {
            "name": "David Bruchmann",
            "email": "david.bruchmann@gmail.com",
            "homepage": "https://barlians.com",
            "role": "Author, Developer"
        }
    ],
    "support": {
        "email": "david.bruchmann@gmail.com"
    },
    "require": {
        "smarty/smarty": "~3.1"
    }
}

1 Ответ

0 голосов
/ 13 сентября 2018

Вы устанавливаете свой проект неправильно. Команда composer require предназначена для установки зависимостей, поэтому они идут в каталог vendor.

Для установки проекта необходимо использовать команду create-project:

composer create-project wdb/tutorial-oop
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...