композитор не разбирает composer.json

0

Я создал пакет. в комплекте я создаю две таблицы в базе данных. это следует за моим композитором.json.

{
    "name": "xxxx/xxx-designer",
    "description": "XXXX",
    "license": "MIT",
    "homepage": "https://github.com/giturl",
    "autoload": {
        "psr-0": {
            "": "src/"
        }
    },
    "authors": [
        {
            "name": "xxxx",
            "email": "[email protected]"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.3.0",
    },
    "scripts": {
        "post-install-cmd": [
            "Acme\\Bundle\\DemoBundle\\Composer\\AcmeHandler::InstallTabs"
        ],
        "post-update-cmd": [
            "Acme\\Bundle\\DemoBundle\\Composer\\AcmeHandler::InstallTabs"
        ]
    },
    "extra": {
        "branch-alias": {
            "dev-master": "1.0.x-dev"
        }
    }
}

Теперь проблема в том, что когда я выполняю php composer.phar update тогда композитор не выполняет post-update-cmd или post-install-cmd, но если добавить следующую строку в основной композитор.json

"scripts": {
    "post-install-cmd": [
        "Acme\\Bundle\\DemoBundle\\Composer\\AcmeHandler::InstallTabs"
    ],
    "post-update-cmd": [
        "Acme\\Bundle\\DemoBundle\\Composer\\AcmeHandler::InstallTabs"
    ]
},

то php composer.phar update выполнит эту команду, и мои таблицы будут созданы. Мне интересно, почему композитор не выполняет команды из моего пакета composer.json. пожалуйста, помогите почему композитор не исполняет скрипт из комплекта composer.json

Теги:
composer-php

2 ответа

1
Лучший ответ

Взятые из документов

  Note: Only scripts defined in the root package composer.json are executed.
  If a dependency of the root package specifies its own scripts, Composer does not
  execute those additional scripts.
1

К сожалению, вы не можете сделать это с помощью пост-instal/update-скриптов поставщика.

НО

Посмотрите, как это разрешено в BraincraftedBootstrapBundle:

У них есть отдельная команда для копирования значков

Я показываю, что его можно добавить в composer.json. BrainraftedBootstrapBundle → Установка глификонов

Ещё вопросы

Сообщество Overcoder
Наверх
Меню