magento-hackathon / magento-composer-installer

Composer installer for Magento modules
210 stars 154 forks source link

How do I re-install some package? #168

Closed flancer64 closed 9 years ago

flancer64 commented 9 years ago

Hello,

I have installed Magento with my own package "praxigento/z_mage_composer_mod01" using "preferred-install": "source"_ option for this package. I can add/edit files in vendor/praxigento/z_mage_composer_mod_01/ folder. I need to re-install (re-link) package files from local folder (vendor/praxigento/z_mage_composer_mod_01/) to allow Magento to use new files from my package. Can I do it without committing package to GitHub?

Thanks, guys.

davidverholen commented 9 years ago

you could try to execute the deploy command with the changed mappings. basically this should work as the mappings are read from the working tree and not the repository.

You have to install https://github.com/magento-hackathon/composer-command-integrator

Then you can execute vendor/bin/composerCommandIntegrator.php magento-module-deploy from your project root.

I think composer added now a way that plugins can add custom commands way more elegant. I think this will be very much easier in the future ;)

flancer64 commented 9 years ago

Thanks, David.

I have tried to install and execute command integrator but smth. gone wrong:

C:\work\GitHub\z_mage_composer_prj_01_full>.\vendor\bin\composerCommandIntegrator.php.bat magento-module-deploy

Deprecated: "Symfony\Component\Console\Helper\DialogHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\QuestionHelper" instead. in C:\work\GitHub\z_mage_composer_prj_01_full\vendor\symfony\console\Symfony\C
omponent\Console\Helper\DialogHelper.php on line 34

Call Stack:
    0.0003     337600   1. {main}() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\magento-hackathon\composer-command-integrator\bin\composerCommandIntegrator.php:0
    0.0122    1336584   2. Symfony\Component\Console\Helper\DialogHelper->__construct() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\magento-hackathon\composer-command-integrator\bin\composerCommandIntegrator.php:16
    0.0122    1336896   3. trigger_error() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\symfony\console\Symfony\Component\Console\Helper\DialogHelper.php:34

Deprecated: "Symfony\Component\Console\Helper\ProgressHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\ProgressBar" instead. in C:\work\GitHub\z_mage_composer_prj_01_full\vendor\symfony\console\Symfony\Co
mponent\Console\Helper\ProgressHelper.php on line 123

Call Stack:
    0.0003     337600   1. {main}() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\magento-hackathon\composer-command-integrator\bin\composerCommandIntegrator.php:0
    0.0145    1468528   2. Symfony\Component\Console\Helper\ProgressHelper->__construct() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\magento-hackathon\composer-command-integrator\bin\composerCommandIntegrator.php:18
    0.0146    1468840   3. trigger_error() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\symfony\console\Symfony\Component\Console\Helper\ProgressHelper.php:123

Fatal error: Uncaught exception 'ErrorException' with message '"Symfony\Component\Console\Helper\DialogHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\QuestionHelper" instead.' in C:\work\GitHub\z_mage_c
omposer_prj_01_full\vendor\symfony\console\Symfony\Component\Console\Helper\DialogHelper.php on line 34

ErrorException: "Symfony\Component\Console\Helper\DialogHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\QuestionHelper" instead. in C:\work\GitHub\z_mage_composer_prj_01_full\vendor\symfony\console\Symfo
ny\Component\Console\Helper\DialogHelper.php on line 34

Call Stack:
    0.0003     337600   1. {main}() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\magento-hackathon\composer-command-integrator\bin\composerCommandIntegrator.php:0
    0.1403    9355408   2. MagentoHackathon\Composer\Command\Slot->__construct() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\magento-hackathon\composer-command-integrator\bin\composerCommandIntegrator.php:28
    0.1403    9355408   3. Composer\Console\Application->__construct() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\magento-hackathon\composer-command-integrator\src\MagentoHackathon\Composer\Command\Slot.php:30
    0.1415    9364296   4. Symfony\Component\Console\Application->__construct() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\composer\composer\src\Composer\Console\Application.php:69
    0.1415    9364344   5. Composer\Console\Application->getDefaultHelperSet() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\symfony\console\Symfony\Component\Console\Application.php:88
    0.1531    9801624   6. Symfony\Component\Console\Helper\DialogHelper->__construct() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\composer\composer\src\Composer\Console\Application.php:327
    0.1531    9801936   7. trigger_error() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\symfony\console\Symfony\Component\Console\Helper\DialogHelper.php:34
    0.1531    9802800   8. Composer\Util\ErrorHandler::handle() C:\work\GitHub\z_mage_composer_prj_01_full\vendor\symfony\console\Symfony\Component\Console\Helper\DialogHelper.php:34

I have tried to fix it but my skills are not enough to do it :(

AydinHassan commented 9 years ago

Put a require for "symphony/console": "2.5.*" in your composer.json file and run composer update. The command Integrator tool requires symfony console but is not pinned to a specific version. They recently deprecated some features in 2.6 and that is what's breaking for you :)

davidverholen commented 9 years ago

that's right.

This error happenend only to me when I used the dev branches of the symfony components. Looks to me that you are using minimum-stability dev. You should try to avoid this.

Sadly, the command integrator has no stable release, but you can require it with *@dev to overwrite the minimum-stability.

As it requires the composer itself, which also has no stable release yet, you also have to require composer/composer with *@alpha

That way, the Symfony libraries are installed in the current stalbe Version which won't raise this Exception (at least for me) and you can control way better, what versions are installed in your project

flancer64 commented 9 years ago

Thanks, guys.

It works for me. This is my result composer.json:

{
  "require": {
    "magento-hackathon/magento-composer-installer": "*",
    "composer/composer": "*@alpha",
    "magento-hackathon/composer-command-integrator": "*@dev",
    "magento/core": "1.9.1.0",
    ...
  },
  "repositories": [
    {
      "type": "composer",
      "url": "http://packages.firegento.com"
    },
    ...
  ],
  ...
}