2014-11-14 2 views
1

Я пытаюсь установить некоторые внешние JS-библиотеки, расположенные в Github, в проекте SF2 с composer.json.композитор устанавливает репозиторий git как компонент типа

composer.json:

{ 
"name": "myproject", 
"license": "my project", 
"type": "project", 
"description": "my project", 
"autoload": { 
    "psr-0": { "": "src/" } 
}, 
"repositories": { 
    "medium-editor" : { 
     "type": "package", 
     "package": { 
      "name": "daviferreira/medium-editor", 
      "type": "component", 
      "version": "master", 
      "source": { 
       "url": "git://github.com/daviferreira/medium-editor.git", 
       "type": "git", 
       "reference": "master" 
      }, 
      "extra": { 
       "component": { 
        "scripts": [ 
         "dist/js/medium-editor.min.js" 
        ], 
        "styles": [ 
         "dist/css/medium-editor.min.css", 
         "dist/css/themes/*.min.css" 
        ] 
       } 
      }, 
      "require": { 
       "robloach/component-installer": "*" 
      } 
     } 
    }, 
    "classList" : { 
     "type": "package", 
     "package": { 
      "name": "eligrey/classList.js", 
      "type": "component", 
      "version": "master", 
      "source": { 
       "url": "git://github.com/eligrey/classList.js.git", 
       "type": "git", 
       "reference": "master" 
      }, 
      "extra": { 
       "component": { 
        "scripts": [ 
         "classList.min.js" 
        ] 
       } 
      }, 
      "require": { 
       "robloach/component-installer": "*" 
      } 
     } 
    } 
}, 
"require": { 
    ... 

    "daviferreira/medium-editor" : "dev-master", 
    "eligrey/classList.js" : "dev-master" 
}, 
"require-dev": { 
    "phpunit/phpunit": "3.7.*" 
},  
"scripts": { 
    "post-install-cmd": [ 
     "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", 
     "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": [ 
     "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", 
     "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", 
    "component-dir": "web/components" 
}, 
"minimum-stability": "stable", 
"extra": { 
    "symfony-app-dir": "app", 
    "symfony-web-dir": "web", 
    "symfony-assets-install": "symlink", 
    "incenteev-parameters": { 
     "file": "app/config/parameters.yml" 
    }, 
    "branch-alias": { 
     "dev-master": "2.3-dev" 
    } 
} 
} 

библиотеки загружаются, но ... Я ожидаю, что композитор будет создавать с «robloach/компонентной инсталлятора» зависимости, копия файлов указано в «дополнительном» пакете типа «компонент» в каталог «web/component», но это не так.

Что случилось с моей конфигурацией? Благодаря!

ответ

3

После более тщательного изучения robloach plugin documentation, я снова попробовал и, наконец, нашел решение. Проблема заключалась в том, что я, вероятно, сделал много «обновлений для композиторов» с разными конфигурациями и был обязан удалить/переустановить пакеты, чтобы заставить его работать! Итак, исходный пост конфигурации в вопросе хороший ...

Я положил его снова, чтобы быть уверенным!

"medium-editor" : { 
     "type": "package", 
     "package": { 
      "require": { 
       "robloach/component-installer": "*" 
      }, 
      "name": "daviferreira/medium-editor", 
      "type": "component", 
      "version": "master", 
      "source": { 
       "url": "git://github.com/daviferreira/medium-editor.git", 
       "type": "git", 
       "reference": "master" 
      },     
      "extra": { 
       "component": { 
        "scripts": [ 
         "dist/js/medium-editor.min.js" 
        ], 
        "styles": [ 
         "dist/css/medium-editor.min.css", 
         "dist/css/themes/*.min.css" 
        ] 
       } 
      } 
     } 
    }, 

И конечно, не забудьте добавить компонент Robloach в «требуют» библиотек:

 "robloach/component-installer": "dev-master", 
1

Я бы предложил использовать беседку для сбора интерфейсных библиотек. Composer был создан для управления зависимостями php libs. Это importand для разделения этих слоев, потому что это самое простое решение для реализации.

1

Попробуйте PHP Composer Asset Manager пакет с композитором, если проблема сохранится, я думаю, вы должны выполнить команду Мануалы:

приложения/консольные активы: установить.

+0

Я посмотрим на этот пакет, и это напомнить мне, что это актив управление не является встроенной функциональностью композитора. Я уже использую «компонентный менеджер ресурсов», который является https://github.com/RobLoach/component-installer. Я внимательно прочитал документ и нашел свою ошибку. Спасибо за вашу помощь. – Lionel

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