@KidsBout

Как установить Yii2 в не пустую папку с помощью Composer?

Хочу установить yii2 с помощью Composer.

  • Создал папку
  • Сделал в папке Composer init
  • Потом Composer install
  • Потом composer global require "fxp/composer-asset-plugin:^1.2.0"
  • Теперь хочу скачать Yii в папку, чтобы была иерархия myProject/файлы yii
  • С помощью cd выхожу в общую папку, с помощью ls вижу папку myProject
  • Делаю composer create-project --prefer-dist yiisoft/yii2-app-basic myProject
  • Но тут получаю ошибку Project directory myProject/ is not empty.


Как правильно решить задачу?
  • Вопрос задан
  • 1128 просмотров
Решения вопроса 3
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
сделайте create-project --prefer-dist yiisoft/yii2-app-basic myProject/yii
зачем мешать все в кучу. пусть в отдельной подпапке лежит
Ну или потом перенесите ручками на уровень выше, но это странно. Зачем?
Ответ написан
Комментировать
vakorovin
@vakorovin
Разработчик
Нужно понимать следующее. Сам по себе yii является таким же пакетом, как и любые другие, доступные здесь (и не только) с точки зрения composer'a.
Поэтому, если вы собираетесь активно использовать composer для управления пакетами (в том числе и js/css при помощи bower-asset'ов), то отходить от стандартной схемы установки пакетов нет никакого смысла, а стандартное место - папка vendor в корне проекта. К тому же, каждый пакет, который вы устанавливаете, может тянуть за собой свой composer.json со своими зависимостями.
Вы можете назвать причину, по которой вам требуется отойти от этой схемы? Возможно мы сможем помочь, если будем понимать причины.
Ответ написан
Комментировать
@balamyt92
; select * from users; --
Тебе же сказали что папка не пуста.

команда
create-project --prefer-dist yiisoft/yii2-app-basic myProject
создаст папку myProject и закинет туда необходимые файлы. Если папка есть, то проверит наличие в неё левых файлов, если они есть, значит надо прервать выполнение ибо программист видимо ошибся. Этот набор команд предназначен исключительно для создание с нуля шаблона приложения, а не для добавления yii2 к проекту.

чтобы была иерархия myProject/файлы yii

нет, такой иерархия быть не должна, она должна быть myProject/vendor/yiisoft/yii2
но это детали.

У тебя в проекте есть файл myProject/composer.json
в нем должны быть строки такого рода
"require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": ">=2.0.5",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*"
    },
    "require-dev": {
        "yiisoft/yii2-codeception": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-faker": "*"
    },

и тогда тебе достаточно будет выполнить composer install

более подробно читай в документации composer
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы