Запущенный Composer возвращает: «Не удалось открыть входной файл: composer.phar»

166

Я новичок в symfony2 и читаю symblog. В третьей главе, пытаясь использовать данные, я попробовал команду:

php composer.phar update

но я получил ошибку:

Could not open input file: composer.phar

Итак, я немного погуглил и попробовал

php composer.phar install

но все равно получая ту же ошибку. Поэтому, пожалуйста, расскажите, как обращаться с этим композитором, чтобы установить новые расширения или пакеты, такие как data-fixtures в symfony2, используя wamp.

  • 0
    Вы установили composer.phar в нужном месте ??
  • 0
    У меня была эта проблема при попытке настроить композитора глобально. В итоге я добавил alias composer="php C:\\\\Users\\\\MyUsername\\\\bin\\\\composer.phar" в мой файл .bashrc . Некрасиво, но сработало.
Показать ещё 2 комментария
Теги:
composer-php
wamp

23 ответа

223

Если вы выполнили следующие инструкции:

https://getcomposer.org/doc/00-intro.md

Что скажет вам сделать следующее:

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer

Затем, вероятно, вы, как и я, выполнили эти команды и не прочитали следующую часть страницы, в которой вам было сказано прекратить ссылаться на composer.phar по его полному имени и сокращать его как исполняемый файл (который вы только что переименовали с командой mv). Итак:

$ php composer.phar update friendsofsymfony/elastica-bundle

Становится следующим:

$ composer update friendsofsymfony/elastica-bundle
  • 32
    Следует помнить, что если вы правильно установили (в Windows) и добавили его в переменную PATH вашей среды, вам не нужно вводить php composer.phar и использовать вместо него composer.
  • 0
    @ Крис Москини Кажется, вы можете мне помочь. Посмотрите на это: stackoverflow.com/questions/52091827/…
Показать ещё 1 комментарий
121

У меня была такая же проблема в Windows, и я использовал другое решение. Я использовал установочный файл Composer_Setup.exe, предоставленный веб-сайтом композитора, и он выполняет глобальную установку.

После установки убедитесь, что ваша переменная PATH указывает на каталог, в котором хранится композитор .phar. Обычно это C:\ProgramData\ComposerSetup\bin (ProgramData может быть скрытым каталогом). Разумеется, но также убедитесь, что исполняемый файл PHP также находится в переменной PATH.

Затем вы можете просто вызвать

composer install

вместо

php composer.phar install
  • 5
    Это наконец работает, я не понимаю, почему я не могу найти эту информацию нигде на сайте композитора ...
  • 2
    Спасибо! Это не упоминается в разделе «Основное использование» в документах Composer. Getcomposer.org/doc/01-basic-usage.md#install-dependencies
88

Фон

Полезно знать, что есть два способа установить (и использовать) Composer: локально как файл в каталоге вашего проекта или глобально как исполняемый файл всей системы.

Локальная установка Composer просто означает, что вы загружаете файл (composer.phar - это архив PHP) в каталог вашего проекта. Вам придется скачать его для каждого проекта, для которого требуется Composer.

Как обычный PHP файл, который вы хотите выполнить в командной строке, вам нужно будет запустить его с PHP:

php composer.phar update

Что в основном говорит исполняемому файлу php запускать файл composer.phar с update качестве аргумента.

Однако, если вы установите его глобально, вы можете сделать сам Composer исполняемым, так что вы можете вызывать его без php (и не нужно загружать его для каждого проекта). Другими словами, вы можете использовать composer следующим образом:

composer update

Поскольку вы выполняете php composer.phar update и получаете сообщение об ошибке. Could not open input file: composer.phar, вероятно, в вашей текущей директории нет composer.phar.

Решение

Если у вас установлен Composer глобально, просто запустите composer update вместо php composer.phar update.

Если у вас еще не установлен Composer, загрузите PHAR с помощью следующей команды:

curl -sS https://getcomposer.org/installer | php

Это загрузит установщик и запустит его с помощью php. Установщик загрузит фактический PHAR Composer в ваш текущий рабочий каталог и сделает его исполняемым.

Чтобы установить Composer глобально (я рекомендую это), скопируйте файл в папку в вашей PATH. Точное местоположение зависит от операционной системы и настроек, см. Https://getcomposer.org/doc/00-intro.md#globally для получения дополнительной информации.

Лично я предпочитаю устанавливать Composer в свой домашний каталог, поэтому мне не нужен sudo для установки или обновления исполняемого файла composer (что может быть угрозой безопасности). Поскольку я работаю в Linux, я использую следующую команду:

mv composer.phar ~/.local/bin/composer
  • 1
    Я хотел бы обновить этот ответ более одного раза. Помимо ответа на вопрос, он проясняет вопрос о разнице между локальной и глобальной установкой Composer. Спасибо тебе за это.
42

Если кто-то еще зашел так низко на странице и до сих пор не нашел рабочего ответа (как и я), используйте это:

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer.phar
$ alias composer='/usr/local/bin/composer.phar'
$ composer --version

et voila! Рабочий композитор: -)

  • 0
    Спасибо, агент Смулдерс. ;)
  • 0
    Работало для меня, но мне пришлось изменить одну строку, чтобы она работала правильно $ alias composer = '/ usr / local / bin / composer'
Показать ещё 3 комментария
10

Я нашел, что это сработало, потому что у меня не было завитка. В Windows 8 с установленной XAMPP. Он добавит его в локальную сборку. Я использую .gitignore, чтобы избежать репо

php -r "readfile('https://getcomposer.org/installer');" | php

Я получил его отсюда: https://getcomposer.org/download/

8

Это сработало для меня:

composer install

Без

php composer install
  • 0
    даже без расширения? Также, пожалуйста, добавьте 4 пробела в строки кода, чтобы они были отформатированы как код
7

Чтобы решить эту проблему, первое, что вам нужно сделать, это получить последнюю версию composer:

curl -sS https://getcomposer.org/installer | php

Я рекомендую вам переместить файл composer.phar в глобальный каталог bin, в моем случае (OS X) путь:

mv composer.phar /usr/local/bin/composer.phar

чем вам нужно создать файл псевдонимов для быстрого доступа

alias composer='/usr/local/bin/composer.phar'

Если все в порядке, пришло время проверить нашу версию Composer:

composer --version

Пусть композитор снова станет великим.

3

Используйте это:

php -r "readfile('https://getcomposer.org/installer');" | php
  • 0
    Это решило мою проблему в Centos7
3

У меня была такая же проблема. Это решено, когда я сделал композитора глобально доступным. Теперь я могу настроить команды из любого места в папке.

composer update

composer require "samplelibraryyouwant"

  • 3
    Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий под своим постом.
  • 0
    @BasvanStein Это похоже на попытку ответить. Если вы считаете, что этот ответ неправильный, вы можете понизить его.
2

Вчера я пытался установить Yii2 framework в Windows 10, и у меня такая же проблема (не удалось открыть входной файл: composer.phar), выполнив эту команду:

php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

Проблема заключается в том, что файл composer.phr не находится в текущем каталоге, вам нужно указать полный путь composer.phr, например

php C:\ProgramData\Composer\bin\composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

Или вы можете создать проект yii2 с помощью этой команды:

 composer create-project yiisoft/yii2-app-advanced advanced 2.0.9

или

composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9
  • 0
    спасибо за эту страницу yii не определяет это
2

Я использую windows 8.0. В моем случае для установки или обновления я просто использую установку композитора или что-то еще вместо php composer.phar. Это сработало для меня как

composer require google/apiclient:1.*
2

Простой ответ, перейдите к каталогу, в котором у вас уже есть файл composer.json, который вы хотите запустить (в идеале, в папке вашего проекта), затем загрузите композитор в ту же папку, а затем сразу запустите команду установки так:

 php composer.phar install

Это автоматически найдет композитор .json и запустит необходимые скрипты. Удачи. Этот материал является ветером для конечных мастеров и совершенно странным для всех нас.

1

Привет друзья, следуйте инструкциям, чтобы исправить эту проблему в MAC OS

  • Шаг 1: сначала запустите команду в терминале с вашим каталогом проекта

    $ curl -sS https://getcomposer.org/installer | PHP

  • Шаг 2: Переместите composer.phar в каталог вашего проекта

    $ mv composer.phar/Applications/MAMP/htdocs/bashrushAPI/composer.phar

  • Шаг 3: Настройка псевдонима композитора

    $ alias composer = '/Applications/MAMP/htdocs/bashrushAPI/composer.phar'

  • Шаг 4: Проверьте версию композитора сейчас

    $ composer --version

    Composer version 1.7.2 2018-08-16 16:57:12

  • Шаг 5: Подтвердите папки проекта и файл, расположенный ниже

    $ ls

    CONTRIBUTING.md docker-compose.yml templates README.md logs tests composer.json phpunit.xml vendor composer.lock public composer.phar src

  • Шаг 6: Теперь обновите композитор

    обновление $ composer.phar

    Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Generating autoload files

  • Шаг 7: Запустите ваш пример проекта

    $ php composer.phar start

    php -S localhost:8080 -t public [Thu Sep 27 03:16:11 2018] ::1:51177 [200]:/[Thu Sep 27 03:16:11 2018] ::1:51178 [404]: /favicon.ico - No such file or directory

1

Изображение 7202

ваш композитор .phar должен быть помещен выше.

  • 0
    Я использую windows8 и установил exe composer как на getcomposer.org/download . Затем я скопировал файл composer.phar в свой проект в соответствии с показанной вами структурой. Файлы composer.json и composer.lock уже были там, поскольку это была загрузка пакета symfony по умолчанию. После того, как я выполнил команду composer udpate, это заняло около получаса, но еще не завершилось. В чем дело? Пожалуйста, предложите. Заранее спасибо!
  • 0
    хорошо, вы используете cmd для команды? поэтому вы должны сменить каталог правильно. Лучше предоставьте свою структуру каталогов со снимком экрана.
Показать ещё 3 комментария
0

Я исправил ту же проблему с помощью следующих шагов

  1. Откройте каталог проекта Используя Терминал (который вы используете, например, mintty)
  2. Теперь установите composer в этом каталоге в соответствии с указаниями на https://getcomposer.org/download/

php -r "copy (' https://getcomposer.org/installer ', 'composer-setup.php');"

php -r "if (hash_file ('SHA384', 'composer-setup.php') === 'the-обеспеченный-хэш-код') {echo 'Установщик проверен';} else {echo 'Установщик поврежден'; unlink ('composer-setup.php');} echo PHP_EOL; "

php composer-setup.php php -r "unlink ('composer-setup.php');"

  1. Теперь запустите вашу команду.

Теперь все работает нормально, потому что файл composer.phar доступен в каталоге текущего проекта.

Спасибо

0

использовать один композитор без php

лайк:

composer create-project --prefer-dist --stability=dev developeruz/yii-vue-app basic
0

Вы можете просто попробовать эту команду, если вы уже установили Composer:

composer update 

или если вы хотите добавить какой-то комплект вашему композитору, попробуйте это:

composer require "/../"
0

Не обращайтесь к композитору по компоновщик композитора .pher

использование композитор устанавливает

0

Я пытаюсь установить эту композицию на машине Window 7 на странице http://getcomposer.org/download. Поскольку существует существующая версия для компоновки (предоставляемая средством разработчика Dev Desktop), установка завершается с ошибкой, и единственный шанс - исправить эту проблему вручную. (или удалить Dev Desktop tool composer).

В любом случае сообщение об ошибке довольно просто (не удалось открыть входной файл: composer.phar), тогда мы должны сообщить системе, в которой находится файл.

Измените файл composer.bat и должен выглядеть так:

@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;%PATH%
php.exe composer.phar %*

Смотрите, что у comper.phar нет пути к файлу. Когда вы находитесь в другой папке, кроме той, где находится композитор .phar, система не сможет ее найти. Итак, просто заполните путь к файлу composer.phar:

@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;;%PATH%
SET composerScript=composer.phar
php.exe "%~dp0%composerScript%" %*

Откройте консоль окон, и это должно сделать трюк.

EDIT: это проблема, потому что она всегда использует% ~ dp0% composerScript% папка как исполнение композитора. Затем все конфигурации выполняются в этом (помимо того, что вы находитесь в текущей папке проекта), а не в папке проекта.

До сих пор я не нашел, чтобы сделать ручную установку композитора для работать глобально в Windows. Возможно, вам стоит продолжить работу с композитором для установки окон, упомянутым выше.

0

Вы можете сделать

curl -sS https://getcomposer.org/installer | php

Значение флага -sS не показывает прогресс, показывает ошибки

а затем

php composer.phar install

от: Как получить cURL, чтобы не показывать индикатор выполнения?

https://packagist.org/

0

используйте два шага.

curl -sS https://getcomposer.org/installer | PHP

Обновление sudo php composer.phar

0

если композитор уже устанавливает все, что вам нужно, это знать, где находится файл composer.phar(его каталог), после чего вы перейдете в проект symfony, где у вас есть композитор .json, и из этого каталога вы исполняете свой композитор. файл phar. В окнах вот что вам нужно сделать.

symfony project directory_where_composer.json_is>php the_directory_where_composer.phar_is/composer update 

Что все

0

Ваш composer.phar должен находиться в исходных файлах. У меня была такая же проблема, и я просто перерезал свой composer.phar в свою папку framework-standard-edition, где находится весь проект сильный текст.

Ещё вопросы

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