소스 검색

Respect COMPOSER_NO_INTERATION for search prompt.

As described in GH-8289, if no `composer.json` file is found in the current
directory, the user is prompted if she wants to use another `composer.json` file
from a parent directory even if the `COMPOSER_NO_INTERACTION` environment
variable is set.  This is fixed here by just moving the check of the environment
variable up in the code so that it is evaluated before the user is prompted.
David Szkiba 6 년 전
부모
커밋
0500e64f88
1개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제
  1. 4 4
      src/Composer/Console/Application.php

+ 4 - 4
src/Composer/Console/Application.php

@@ -113,6 +113,10 @@ class Application extends BaseApplication
     {
         $this->disablePluginsByDefault = $input->hasParameterOption('--no-plugins');
 
+        if (getenv('COMPOSER_NO_INTERACTION')) {
+            $input->setInteractive(false);
+        }
+
         $io = $this->io = new ConsoleIO($input, $output, new HelperSet(array(
             new QuestionHelper(),
         )));
@@ -208,10 +212,6 @@ class Application extends BaseApplication
                 $io->writeError(sprintf('<warning>Warning: This development build of composer is over 60 days old. It is recommended to update it by running "%s self-update" to get the latest version.</warning>', $_SERVER['PHP_SELF']));
             }
 
-            if (getenv('COMPOSER_NO_INTERACTION')) {
-                $input->setInteractive(false);
-            }
-
             if (!Platform::isWindows() && function_exists('exec') && !getenv('COMPOSER_ALLOW_SUPERUSER')) {
                 if (function_exists('posix_getuid') && posix_getuid() === 0) {
                     if ($commandName !== 'self-update' && $commandName !== 'selfupdate') {