А почему бы и нет? Заставим работать composer из командной строки windows.
Прежде всего нам понадобится php, т.к. composer — это php скрипт. Если у вас уже есть установка PHP, то убедитесь, что в конфигурации подключено расширение php_openssl.dll.
Если же это чистая установка, то в корневой папке PHP вы найдете файлы:
1 2 |
php.ini-development php.ini-production |
Это черновики конфиг файла, скопируйте один из них и сохраните с именем php.ini здесь же в папке. Далее найдите в конфигурации переменную extension_dir. Для windows она должна быть настроена как показано ниже, и подключите модуль openssl:
1 2 3 4 5 6 |
; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir ;extension_dir = "./" ; On windows: extension_dir = "ext" extension=php_openssl.dll |
Чтобы исполняемые файлы были доступны из любой директории, нужно добавить в настройки системного окружения, в переменную Path, папки, которые содержат наши исполняемые файлы. Я собираюсь разместить composer.phar в папке c:/bin, там же где и все прочие подобные скрипты и утилиты. Создайте подобную папку на своём компьютере.
Кроме того, для composer понадобится установить значение переменной COMPOSER_HOME.
В Win 10 откройте свойства системы, ищите их по фразе ‘view advanced system settings‘, там нажмите на кнопку ‘Environment Variables‘. Вы увидите два списка переменных — нам нужны переменные системы (system variables).
Отредактируйте (Edit) Path и добавьте следующие папки: содержащую php.exe (например c:/php), и ваш аналог c:/bin.
Также нужно создать переменную COMPOSER_HOME. Установите её значение C:\Users\USERNAME\AppData\Roaming\Composer\vendor\bin.
USERNAME нужно заменить на имя вашего пользователя.
Теперь запустим консоль (WIN+R : cmd). Перейдите в папку c:/bin и выполните загрузку установщика composer.
1 |
php -r "file_put_contents('composer-installer.php', file_get_contents('https://getcomposer.org/installer'));" |
Данная команда загрузит установщик, запустим его.
1 |
php composer-installer.php |
Установщик создаст файл composer.phar в текущем каталоге. Это и есть сам композер, в чем вы можете убедиться, если запустите его:
1 |
php composer.phar about |
Он отобразит версию пакета и некоторую информацию.
Но наша задача сделать так, чтобы вызов происходил короткой командой «composer«. Для этой цели мы создадим пакетный файл с именем composer.bat в c:/bin. Там будет всего одна строка:
1 |
@php %~dp0/composer.phar %* |
Немного подробнее о том, что это значит.
Символ @ перед командой скрывает вывод команды в консоль, чтобы не засорять вывод. Аргументы передаваемые скрипту начинаются с символа %, к ним можно также применить некоторые встроенные функции. Функция %~dp к параметру 0 позволяет нам получить каталог исполняемого файла (нашего composer.bat). Так мы вызовем composer.phar, откуда бы не был вызван наш пакетный файл. Завершается всё передачей всех входных параметров — %*.
Ранее мы добавили папку c:/bin в системный пути. При вводе команды в консоль, система будет искать во всех указанных каталогах файлы с расширениями, которые заданы в другой системной переменной — PATHEXT. Там уже есть нужный нам .BAT, потому, как результат, мы получим запуск нашего пакетного файла и выполнения команды composer.
1 |
composer about |
И чуть не забыл — composer-installer.php уже можно удалить.