Composer не смог найти файл конфигурации - используя Jenkins в Windows - PullRequest
0 голосов
/ 31 января 2019

У меня есть скрипт сборки Ant, который пытается выполнить Composer install, но я получаю эту ошибку при выполнении через Jenkins:

     [exec] Composer could not find the config file: C:\ProgramData\ComposerSetup\bin
     [exec] To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
     [exec] Result: 1
     [echo] composer update complete

Вот цель от Ant:

<target name="self-update"
        if="composer.self-update"
        unless="composer.installed"
        description="Self-update Composer">
    <echo message="Self-updating composer" level="debug"/>
    <exec executable="${composer.phar}">
        <arg value="self-update" />
        <arg value="--quiet" />
        <arg value="--no-interaction" />
    </exec>
    <echo message="composer self-update complete" level="debug"/>
</target>

Однако это работает нормально при локальном запуске сборки Ant.

Некоторые люди говорят, что нужно удалить переменные среды, которые устанавливает установщик composer;однако, похоже, это ничего не меняет.

1 Ответ

0 голосов
/ 12 февраля 2019

Была переменная среды с именем COMPOSER, которая была установлена ​​на C:\ProgramData\ComposerSetup\bin.Переменная не была видна через панель управления Environment Variables.

Я мог бы обойти это, установив env key="composer" в "".

<target name="composer"
        depends="init, self-install, self-update"
        if="composer.run">
    <condition property="composer.command" value="update" else="install">
        <available file="${composer.lock}"/>
    </condition>
    <echo message="Beginning composer ${composer.command}" level="debug"/>
    <exec executable="php">
        <env key="composer" value=""/>
        <arg value="${composer.phar}"/>
        <arg value="${composer.command}"/>
        <arg value="--verbose"/>
        <arg value="--no-interaction"/>
        <arg value="--optimize-autoloader"/>
        <arg value="--prefer-dist"/>
    </exec>
    <echo message="composer ${composer.command} complete" level="debug"/>
</target>

Также возможно установить его вcomposer.json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...