bower вместо bower-asset

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Аватара пользователя
New_Wind
Сообщения: 55
Зарегистрирован: 2015.03.09, 15:15
Контактная информация:

bower вместо bower-asset

Сообщение New_Wind »

Добрый день. Помогите разобраться с такой проблемой.

Для новоразрабатываемого сайта поставил через composer Yii2.
composer.phar require --prefer-dist yiisoft/yii2 "*"
Мне надо использовать некоторые рессурсы, которые поставляются вместе с Yii2.

В assets/AppAsset.php добавляю зависимости:

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

    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
После чего получаю ошибку:
Invalid Parameter – yii\base\InvalidParamException
The file or directory to be published does not exist: F:\home\mysite\vendor\bower/jquery/dist
Но то, что ищет движок в vendor/bower находится там, куда всё поставил composer, а имеенно в vendor/bower-asset.
Если вручную переименовать директорию то зависимости для рессурсов подтягиваются, но понимаю, что то что находится в vendor вручную править нельзя.

Значит пути решения два:
1. заставить composer ставить bower-пакеты в vendor/bower а не vendor/bower-asset;
2. или заставить Yii2 искать зависимости ресурсов в vendor/bower-asset.

Как это сделать? Или же есть другое решение?
padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: bower вместо bower-asset

Сообщение padlyuck »

composer create-project --prefer-dist yiisoft/yii2-app-basic basic установит базовый скелет в папку basic. для установки другого скелета замените yii2-app-basic на yii2-app-advanced, хотя вы правы, странность с composer require yiisoft/yii2 имеет место быть. Возможно более опытные коллеги пояснят.
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: bower вместо bower-asset

Сообщение lynicidn »

php composer.phar global require "fxp/composer-asset-plugin:1.0.0"
padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: bower вместо bower-asset

Сообщение padlyuck »

lynicidn писал(а):php composer.phar global require "fxp/composer-asset-plugin:1.0.0"
а вы после этой команды пробовали выполнить команду о которой писал топикстартер? у меня результат при fxp/composer-asset-plugin (v1.0.0-beta2) и при fxp/composer-asset-plugin (v1.0.0) ровно такой же как и у него. похоже на баг...
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: bower вместо bower-asset

Сообщение ElisDN »

padlyuck писал(а):а вы после этой команды пробовали выполнить команду о которой писал топикстартер?
Пробовал вчера с установленным composer на Debian:

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

sudo composer self-update
composer global require "fxp/composer-asset-plugin:1.0.0"
rm -rf vendor
composer install
Главное global require из того же пользователя делать, для которого надо выполнить install, а не из под рута.
padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: bower вместо bower-asset

Сообщение padlyuck »

@ElisDN попробуйте выполнить команду composer require --prefer-dist yiisoft/yii2 при отсутствии composer.json
Аватара пользователя
New_Wind
Сообщения: 55
Зарегистрирован: 2015.03.09, 15:15
Контактная информация:

Re: bower вместо bower-asset

Сообщение New_Wind »

lynicidn писал(а):php composer.phar global require "fxp/composer-asset-plugin:1.0.0"
Проблему не решило.
padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: bower вместо bower-asset

Сообщение padlyuck »

А почему вы таким образом ставите yii, не через create-project
Аватара пользователя
New_Wind
Сообщения: 55
Зарегистрирован: 2015.03.09, 15:15
Контактная информация:

Re: bower вместо bower-asset

Сообщение New_Wind »

Пробую и
php composer.phar require yiisoft/yii2-app-advanced "*"
и с чистого листа
php composer.phar require yiisoft/yii2-app-basic "*"
В обоих случаях bower-пакеты устанавливаются в vendor/bower-asset
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: bower вместо bower-asset

Сообщение ElisDN »

Не require попробуйте, а create-project.
padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: bower вместо bower-asset

Сообщение padlyuck »

@New_Wind Вы так пробовали делать?
padlyuck писал(а):composer create-project --prefer-dist yiisoft/yii2-app-basic basic установит базовый скелет в папку basic. для установки другого скелета замените yii2-app-basic на yii2-app-advanced, хотя вы правы, странность с composer require yiisoft/yii2 имеет место быть. Возможно более опытные коллеги пояснят.
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: bower вместо bower-asset

Сообщение lynicidn »

событие комрозера не выполнятеся postCreateProject или как там оно, которое с extra и работает как раз, думаю через create-project проблемы не будет
dmeroff
Сообщения: 101
Зарегистрирован: 2012.06.05, 14:32
Откуда: Петрозаводск
Контактная информация:

Re: bower вместо bower-asset

Сообщение dmeroff »

По-умолчанию, asset плагин ставит пакеты в {asset-type}-asset (bower-asset и npm-asset соответственно). Это можно изменить, указав соответствующие настройки в composer.json, что и сделано по-умолчанию в Yii.
Аватара пользователя
New_Wind
Сообщения: 55
Зарегистрирован: 2015.03.09, 15:15
Контактная информация:

Re: bower вместо bower-asset

Сообщение New_Wind »

Да, в случае
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
всё работает.

Но есть ли возможность заставить ставить дист в текущую директорию, из которой запускаю composer? Ругается на то, что директория не пуста (ведь там есть сам composer).

Делаю
composer create-project --prefer-dist yiisoft/yii2-app-basic ./
Ругается:
[InvalidArgumentException]
Project directory ./ is not empty.
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: bower вместо bower-asset

Сообщение lynicidn »

composer create-project --prefer-dist yiisoft/yii2-app-basic .
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: bower вместо bower-asset

Сообщение lynicidn »

установит в yii2-app-basic папку
Аватара пользователя
New_Wind
Сообщения: 55
Зарегистрирован: 2015.03.09, 15:15
Контактная информация:

Re: bower вместо bower-asset

Сообщение New_Wind »

Нет, если с точкой в конце, то будет пытаться устанавливать в текущую (но не сможет), а если вообще не указывать названия директории, то создаст yii2-app-basic и установит в него.

Мне же надо в текущую, где уже стоит composer.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: bower вместо bower-asset

Сообщение zelenin »

New_Wind писал(а):Нет, если с точкой в конце, то будет пытаться устанавливать в текущую (но не сможет), а если вообще не указывать названия директории, то создаст yii2-app-basic и установит в него.

Мне же надо в текущую, где уже стоит composer.
не должно там быть композера. установите composer глобально - это инструмент, а не зависимость для проекта.
Аватара пользователя
New_Wind
Сообщения: 55
Зарегистрирован: 2015.03.09, 15:15
Контактная информация:

Re: bower вместо bower-asset

Сообщение New_Wind »

Хм, спасибо.
padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: bower вместо bower-asset

Сообщение padlyuck »

да даже если человек не хочет ставить его глобально, кто мешает установить проект в папку, а потом содержимое этой папки переместить на уровень выше? Композер на сколько мне известно нигде не прописывает абсолютных путей.
Ответить