Composer

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
SnnOz
Сообщения: 10
Зарегистрирован: 2013.12.31, 16:13

Composer

Сообщение SnnOz »

На github лежит сборка в которой есть авторизация через соц. сети
На ее примере хочу разбираться с Yii2

https://github.com/Nodge/yii2-eauth-demo/
вот ее composer.json:

Код: Выделить всё

{
    "name": "nodge/yii2-eauth-demo",
    "description": "Demo site for Yii 2 EAuth extension",
    "keywords": ["yii", "framework", "demo", "eauth"],
    "homepage": "https://github.com/Nodge/yii2-eauth",
    "type": "project",
    "license": "New BSD License",
    "authors": [
        {
            "name": "Maxim Zemskov",
            "email": "[email protected]",
            "homepage": "http://nodge.ru/"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "*",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "nodge/yii2-eauth": "dev-master"
    },
    "scripts": {
        "post-create-project-cmd": [
            "yii\\composer\\InstallHandler::setPermissions"
        ]
    },
    "extra": {
        "writable": [
            "runtime",
            "web/assets"
        ],
        "executable": [
            "yii"
        ]
    }
}
- Почему когда я прописываю "minimum-stability": "alpha" вместо "minimum-stability": "dev" то при апдейте получаю ошибку:

Problem 1
- nodge/yii2-eauth dev-master requires yiisoft/yii2 dev-master@dev -> satisfiable by yiisoft/yii2[dev-master].
- nodge/yii2-eauth dev-master requires yiisoft/yii2 dev-master@dev -> satisfiable by yiisoft/yii2[dev-master].
- Removal request for yiisoft/yii2 == 9999999-dev
- Installation request for nodge/yii2-eauth dev-master -> satisfiable by nodge/yii2-eauth[dev-master].
?

- Какой минимальный набор должен быть в composer.json например если я хочу получить минимальную сборку последней версии Yii2

- есть ../Nodge/yii2-eauth-demo/, есть ../yiisoft/yii2-app-basic
Как мне сравнить эти 2 ветки(если так можна сказать) посмотреть отличия, например переместить функционал по авторизации из первой во вторую

- Может посоветуете русскую документацию по Composer для того чтобы понять его и больше не возвращаться к этому вопросу
Или кто-то объяснит на пальцах что откуда и куда относительно yii

PS: прошу не пинать, всегда использовал svn, а тут другой подход, не понятный мне.
Последний раз редактировалось SnnOz 2014.01.05, 01:13, всего редактировалось 1 раз.
Аватара пользователя
mihail_dev
Сообщения: 243
Зарегистрирован: 2013.07.17, 00:51
Откуда: Молдова
Контактная информация:

Re: Composer

Сообщение mihail_dev »

yiisoft/yii2: dev-master@dev
Изображение
SnnOz
Сообщения: 10
Зарегистрирован: 2013.12.31, 16:13

Re: Composer

Сообщение SnnOz »

Код: Выделить всё

{
    "require": {
        "yiisoft/yii2": "dev-master@dev"
    }
} 
так?
явно чтото не хватает ибо ошибка:
Problem 1
- Installation request for yiisoft/yii2 dev-master@dev -> satisfiable by yiisoft/yii2[dev-master].
- yiisoft/yii2 dev-master requires yiisoft/yii2-composer * -> no matching package found.
...
Аватара пользователя
mihail_dev
Сообщения: 243
Зарегистрирован: 2013.07.17, 00:51
Откуда: Молдова
Контактная информация:

Re: Composer

Сообщение mihail_dev »

- yiisoft/yii2 dev-master requires yiisoft/yii2-composer * -> no matching package found. - это конечно не понятно почему не нашёл

"nodge/yii2-eauth": "dev-master" - это смущает может надо "nodge/yii2-eauth": "*"
Изображение
SnnOz
Сообщения: 10
Зарегистрирован: 2013.12.31, 16:13

Re: Composer

Сообщение SnnOz »

Так понимаю Вы хотели показать что необходимо иметь в composer.json чтобы получить минимальную сборку последней версии Yii2 или что мы пытаемся получить?
Аватара пользователя
mihail_dev
Сообщения: 243
Зарегистрирован: 2013.07.17, 00:51
Откуда: Молдова
Контактная информация:

Re: Composer

Сообщение mihail_dev »

вы хотите собрать алфа версию и пытаетесь подключить в неё дев версию
я думаю проблема в этом но конечно я могу ошибаться
Изображение
SnnOz
Сообщения: 10
Зарегистрирован: 2013.12.31, 16:13

Re: Composer

Сообщение SnnOz »

Вообще в идеале я хочу взять официальную yii2-app-basic версию (php composer.phar create-project yiisoft/yii2-app-basic basic 2.0.0-alpha)

Код: Выделить всё

{
    "name": "yiisoft/yii2-app-basic",
    "description": "Yii 2 Basic Application Template",
    "keywords": ["yii", "framework", "basic", "application template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "alpha",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "*",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-swiftmailer": "*"
    },
    "scripts": {
        "post-create-project-cmd": [
            "yii\\composer\\Installer::setPermission"
        ]
    },
    "extra": {
        "writable": [
            "runtime",
            "web/assets"
        ],
        "executable": [
            "yii"
        ]
    }
} 
И дополнить ее функционалом (авторизация в соц сетях) из https://github.com/Nodge/yii2-eauth-demo/
Как правильно это сделать?
Аватара пользователя
mihail_dev
Сообщения: 243
Зарегистрирован: 2013.07.17, 00:51
Откуда: Молдова
Контактная информация:

Re: Composer

Сообщение mihail_dev »

установите себе в начале приложение yiisoft/yii2-app-basic 2.0.0-alpha
настройте его так как вам нужно (подключив туда своё приложение)
далее выносим всё в гит и компосер
Изображение
SnnOz
Сообщения: 10
Зарегистрирован: 2013.12.31, 16:13

Re: Composer

Сообщение SnnOz »

sounds good (
SnnOz
Сообщения: 10
Зарегистрирован: 2013.12.31, 16:13

Re: Composer

Сообщение SnnOz »

Поставил basic каркас - php composer.phar create-project yiisoft/yii2-app-basic basic 2.0.0-alpha
Имеем такой composer.json:

Код: Выделить всё

{
    "name": "yiisoft/yii2-app-basic",
    "description": "Yii 2 Basic Application Template",
    "keywords": ["yii", "framework", "basic", "application template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "alpha",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "*",
        "yiisoft/yii2-swiftmailer": "*",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*"
    },
    "scripts": {
        "post-create-project-cmd": [
            "yii\\composer\\Installer::setPermission"
        ]
    },
    "extra": {
        "writable": [
            "runtime",
            "web/assets"
        ],
        "executable": [
            "yii"
        ]
    }
}
 
Теперь нужно дописать

Код: Выделить всё

{
    "require": {
        "nodge/yii2-eauth": "~2.0"
    }
} 
как указано тут https://github.com/Nodge/yii2-eauth

Дописываю и выполняю php composer.phar update, получаю ошибку:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- nodge/yii2-eauth 2.0.0 requires nodge/lightopenid dev-master -> no matching package found.
- nodge/yii2-eauth 2.1.0 requires yiisoft/yii2 dev-master@dev -> satisfiable by yiisoft/yii2[dev-master].
- nodge/yii2-eauth 2.0.1 requires yiisoft/yii2 dev-master@dev -> satisfiable by yiisoft/yii2[dev-master].
- nodge/yii2-eauth 2.0.2 requires yiisoft/yii2 dev-master@dev -> satisfiable by yiisoft/yii2[dev-master].
- nodge/yii2-eauth 2.0.3 requires yiisoft/yii2 dev-master@dev -> satisfiable by yiisoft/yii2[dev-master].
- nodge/yii2-eauth 2.1.0 requires yiisoft/yii2 dev-master@dev -> satisfiable by yiisoft/yii2[dev-master].
- Removal request for yiisoft/yii2 == 9999999-dev
- Installation request for nodge/yii2-eauth ~2.0 -> satisfiable by nodge/yii2-eauth[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.1.0].

Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://groups.google.com/d/topic/compo ... discussion> for more details.

Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

Смотрю на https://packagist.org/packages/nodge/yii2-eauth
Requires
php: >=5.4.0
lib-curl: *
yiisoft/yii2: dev-master@dev
lusitanian/oauth: ~0.2
nodge/lightopenid: ~1.1


Меняю строку "yiisoft/yii2": "*" на "yiisoft/yii2": "dev-master@dev"
Теперь все красиво обновилось

Вопрос в чем отличие "yiisoft/yii2": "*" и "yiisoft/yii2": "dev-master@dev" ?
Аватара пользователя
mihail_dev
Сообщения: 243
Зарегистрирован: 2013.07.17, 00:51
Откуда: Молдова
Контактная информация:

Re: Composer

Сообщение mihail_dev »

хороший вопрос я думаю пока стабильная версия не выйдет yii2 такого рода проблемы могут встречаться
Изображение
Аватара пользователя
porcelanosa
Сообщения: 570
Зарегистрирован: 2010.03.16, 04:31
Откуда: Москва

Re: Composer

Сообщение porcelanosa »

SnnOz писал(а):
Вопрос в чем отличие "yiisoft/yii2": "*" и "yiisoft/yii2": "dev-master@dev" ?
в названии ветки?
Хотя, по-моему, композер должен и сам находить, нужную ветку.
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Аватара пользователя
asset
Сообщения: 245
Зарегистрирован: 2012.12.04, 20:50
Откуда: Казахстан

Re: Composer

Сообщение asset »

php composer.phar update --prefer-dist

Ставиться без проблем и без поправки,только что ставил...
shults89
Сообщения: 1
Зарегистрирован: 2012.08.01, 15:53

Re: Composer

Сообщение shults89 »

Прописал "yiisoft/yii2-composer": "dev-master" в composer.json и все поставилось.

Код: Выделить всё

{
    "require": {
        "yiisoft/yii2": "dev-master",
        "yiisoft/yii2-composer": "dev-master"
    }
}
Ответить