2013-04-03 3 views
8

Я создал новый проект Symfony 2.1 и добавил пользовательский пакет, загруженный SVN-репо. Теперь я tryng обновить проект на Symfony 2.2, но в любое время я пытаюсь выполнить команду php ~/bin/composer.phar update появляется следующее сообщение об ошибке:Ошибка обновления php composer.phar - Опечатка в имени пакета

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 
    - The requested package custom/utils 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 
    see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details. 

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

Это Symfony 2,2 composer.json:

{ 
    "name": "symfony/framework-standard-edition", 
    "description": "The \"Symfony Standard Edition\" distribution", 
    "autoload": { 
     "psr-0": { "": "src/" } 
    }, 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "svn+ssh://sources.de.ext/usr/local/svnroot/utils" 
     } 
    ], 
    "require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "2.2.*", 
     "doctrine/orm": "~2.2,>=2.2.3", 
     "doctrine/doctrine-bundle": "1.2.*", 
     "twig/extensions": "1.0.*", 
     "symfony/assetic-bundle": "2.1.*", 
     "symfony/swiftmailer-bundle": "2.2.*", 
     "symfony/monolog-bundle": "2.2.*", 
     "sensio/distribution-bundle": "2.2.*", 
     "sensio/framework-extra-bundle": "2.2.*", 
     "sensio/generator-bundle": "2.2.*", 
     "jms/security-extra-bundle": "1.4.*", 
     "jms/di-extra-bundle": "1.3.*", 
     "custom/utils": "*" 
    }, 
    "scripts": { 
     "post-install-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
     ], 
     "post-update-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
     ] 
    }, 
    "config": { 
     "bin-dir": "bin" 
    }, 
    "minimum-stability": "alpha", 
    "extra": { 
     "symfony-app-dir": "app", 
     "symfony-web-dir": "web", 
     "branch-alias": { 
      "dev-master": "2.2-dev" 
     } 
    } 
} 

на заказ Utils имеют следующие composer.json:

{ 
    "name": "custom/utils", 
    "version": "1.0.0", 
    "description": "The Custom Libraries", 
    "autoload": { 
     "psr-0": { 
      "Blogo": "src/", 
      "WideImage": "lib/" 
     } 
    }, 
    "require": { 
     "symfony/console": "2.*", 
     "symfony/yaml": "2.*" 
    } 
} 

Может кто-нибудь помочь мне понять, что случилось в новый 2.2 Symfony? Поскольку это сообщение об ошибке появляется только обновление Symfony 2.2.

+0

Попробуйте заменить '*' в '' custom/utils ":" * "' строка с 'dev-master' –

+0

Спасибо, я пробовал с' "custom/utils": "1.0.0" ', и получено сообщение об ошибке: 'Не удалось найти запрошенный пакет custom/utils 1.0.0'. – freedev

+0

1.0.0 может быть недействительной версией. Насколько я знаю, большинство пакетов используют 'dev-master' (я довольно новичок в Symfony). –

ответ

8

Попробуйте запустить composer update --verbose или composer show custom/utils --verbose. Оба будут показывать вам некоторые данные о загрузке вашего репозитория SVN. Он должен указывать, какие версии загружены или нет.

Мое предположение, что у вас есть версия dev-trunk, и если вам это нужно, она, скорее всего, будет работать. Вы не должны указывать version: 1.0.0 в своем composer.json, потому что композитор читает информацию о версии из тегов/ветвей в вашем VCS.

+0

Я попытался выполнить ваше предложение, поэтому я удалил версию в '' custom/utils''' composer.json'. Ничего не изменилось. После того, как я попытался указать '' trunk "' как версию в Symfony 2.2 'composer.json'. Появилось новое сообщение об ошибке: '' Ваши требования не могут быть разрешены к устанавливаемому набору пакетов. Задача 1 - Запрос на установку для блогов/utils trunk -> выполним с помощью blogo/utils dev-trunk. - Запрос на удаление для blogo/utils == 9999999-dev' – freedev

+2

Версия 'dev-trunk' не' trunk'. Composer префиксные имена ветвей с 'dev-', чтобы четко идентифицировать их как нестабильные цели (по сравнению с тегами, которые не меняются со временем) , – Seldaek

Смежные вопросы