Ошибка установки веб-сокета cakephp с храповым механизмом

Я пытаюсь установить плагин Cakephp Ratchet в существующий проект. Моя версия CakePHP 2.4.3. В нем говорится, что нужно перейти по этой ссылке. со следующими шагами:

 $ cd myproject/app/
 $ curl -s https://getcomposer.org/installer | php
 $ php composer.phar require --no-update opauth/opauth:dev-wip/1.0 opauth/twitter:dev-     wip/1.0
 $ php composer.phar config vendor-dir Vendor
 $ php composer.phar install

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

Your requirements could not be resolved to an installable set of packages.

Problem 1
- The requested package opauth/opauth could not be found in any version, there may be a typo in the package name.
Problem 2
- The requested package opauth/twitter could not be found in any version, there may be a typo in the package name.

Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting

РЕДАКТИРОВАТЬ: Composer.json такой

    {
"require": {
"opauth/opauth": "dev-wip/1.0",
    "opauth/twitter": "dev-wip/1.0"
},
"config": {
    "vendor-dir": "Vendor"
}
  }

person Nemesis    schedule 04.04.2014    source источник
comment
Насколько я понимаю, документы относятся только к конфигурации композитора и начальной загрузки, а не к этим пакетам opauth! У вас есть файл composer.json для вашего проекта? Если да, то как он выглядит и где именно находится? ps, пожалуйста, всегда указывайте точную версию CakePHP!   -  person ndm    schedule 04.04.2014
comment
Я отредактировал и добавил файл composer.json.   -  person Nemesis    schedule 05.04.2014


Ответы (1)


Как уже упоминалось в моем комментарии, плагин Ratchet не имеет ничего общего с Opauth, связанная статья по адресу ceeram.github.io должна служить только в качестве примера того, как настроить Composer и загрузчик CakePHP.

Однако для автозагрузки Composer в CakePHP я бы рекомендовал обратиться к поваренной книге CakePHP, даже если вы не включаете сам CakePHP через Composer:

http://book.cakephp.org/2.0/en/installation/advanced-installation.html

Короче говоря, раздел «Getting Started / 2. Composer» документации подключаемого модуля требует от вас наличия подключаемого модуля с храповым механизмом, чтобы убедиться, что поставщик dir указывает на /app/Vendor/, и включить автозагрузчик Composer в ваш bootstrap.php.

composer.json (при условии, что он находится в /app)

{
    "require": {
        "wyrihaximus/ratchet": "dev-master"
    },
    "config": {
        "vendor-dir": "Vendor"
    }
}

bootstrap.php (согласно Cookbook)

// Load Composer autoload.
require APP . '/Vendor/autoload.php';

// Remove and re-prepend CakePHP's autoloader as Composer thinks it is the
// most important.
// See: http://goo.gl/kKVJO7
spl_autoload_unregister(array('App', 'load'));
spl_autoload_register(array('App', 'load'), true, true);

Запустите composer install или composer update и все будет хорошо.

person ndm    schedule 05.04.2014
comment
я смог это сделать... не могли бы вы объяснить мне следующий шаг... настройка храповика и assetcompress... Спасибо.. - person Nemesis; 05.04.2014
comment
Я добавил CakePlugin::load('Ratchet',array('bootstrap' =› true)); в bootstrap.php и сделал ›cd {Your Cake Project}/app/Console/ › chmod +x cake › ./cake Ratchet.websocket start, но он показывает: ваша конфигурация не поддерживает «ext-libevent». Настоятельно рекомендуется установить и настроить его, поскольку он обеспечивает значительный прирост производительности по сравнению с выбором потока! - person Nemesis; 05.04.2014
comment
@Nemesis AFAICT это предупреждение, а не ошибка. ext-libevent – это дополнительное расширение, предложенное reactphp/event-loop. Тем не менее, я не знаком с храповиком или reactphp, поэтому я не могу дать какой-либо дельный совет, кроме как ознакомиться с тем, как работают эти библиотеки. - person ndm; 05.04.2014