Я только что установил композитор в папку /usr/bin
, поэтому, когда из этой папки я запустил php composer.phar
я получаю справочную информацию о композиторе. Но, когда я пытаюсь запустить то же самое из другой папки, я получаю Could not open input file: composer.phar
.
Как вызвать php composer.phar
из любого места без проблем?
composer.phar можно запускать самостоятельно, не нужно префикс его с помощью php
. Это должно решить вашу проблему (находясь в отличии от bash's $ PATH и include_path php).
Вы можете выполнить глобальную установку :
Поскольку Composer работает с текущим рабочим каталогом, его можно установить в системном виде.
- Перейдите в каталог на своем пути, например
cd /usr/local/bin
- Получить Composer
curl -sS https://getcomposer.org/installer | php
curl -sS https://getcomposer.org/installer | php
- Сделать phar исполняемым
chmod a+x composer.phar
- Перейдите в каталог проекта
cd /path/to/my/project
- Используйте Composer, как обычно, для
composer.phar install
- При желании вы можете переименовать
composer.phar
вcomposer
чтобы упростить его
Обновление : иногда вы не можете или не хотите загружать файлы /usr/local/bin
(некоторые из них имеют проблемы с правами пользователя или ограниченный доступ), в этом случае вы можете попробовать
curl -sS http://getcomposer.org/installer | php -- --filename=composer
chmod a+x composer
sudo mv composer /usr/local/bin/composer
Задний план:
Фактически на веб-сайте getComposer четко указано, что, установите Composer, используя следующую команду curl,
curl -sS https://getcomposer.org/installer |php
И это, безусловно, делает то, что оно предназначено. И затем он говорит, чтобы переместить композитор.phar в каталог / usr / local / bin / composer, а затем композитор будет доступен по всему миру, используя следующую командную строку в терминале!
mv composer.phar /usr/local/bin/composer
Вопрос:
Поэтому проблема, которая приводит меня к Google, заключается в том, что когда я выполнил вышеуказанную строку в терминале Mac OS X, он сказал, что Permission denied. Например:
mv: rename composer.phar to /usr/local/bin/composer: Permission denied
Ответ:
Следуя ссылке привело меня к решению, как очарование, и я благодарен этому. То, что я просто пропустил, было командой sudo перед указанной выше командной строкой «Переместить». Теперь моя команда Move выглядит следующим образом:
sudo mv composer.phar /usr/local/bin/composer Password:
Он непосредственно предлагает вам пройти проверку подлинности и убедиться, что вы авторизованы. Поэтому, если вы введете действительный пароль, то будет выполнено перемещение, и вы можете просто проверить, установлен ли композитор на глобальном уровне, используя следующую строку.
composer about
Я надеюсь, что этот ответ помог вам расширить свое мнение и, наконец, решить вашу проблему.
Ура!
Сначала установите композитора, как указано в документации по установке композитора. Я просто добавил сюда для справки.
curl -sS https://getcomposer.org/installer | php
а затем переместите файл в '/ usr / local / bin'.
sudo mv composer.phar /usr/local/bin/composer
Попробуйте запустить composer -V
. Если вы получаете выход, такой как Composer version
за которым следует номер версии, композитор устанавливается успешно.
Если вы получаете какой-либо вывод, например, composer: command not found
используйте следующую команду для создания псевдонима для композитора. Таким образом, он будет выполнен по всему миру.
alias composer='/usr/local/bin/composer'
Теперь, если вы запустите composer -V
вы получите результат как Composer Version
а затем номер версии.
Надеюсь, это поможет кому-то.
Просто запустите эту команду для установки композитора по всему миру
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Просто переместите его в папку /usr/local/bin
и удалите расширение
sudo mv composer.phar /usr/local/bin/composer
Для запуска его из другого места вы можете использовать программу композитора, которая поставляется вместе с программой. Это в основном сценарий bash. Если у вас его нет, вы можете создать его, просто скопировав следующий код в текстовый файл
#!/bin/sh dir=$(d=$(dirname "$0"); cd "$d" && pwd) if command -v 'cygpath' >/dev/null 2>&1; then dir=$(cygpath -m $dir); fi dir=$(echo $dir | sed 's/ /\ /g') php "${dir}/composer.phar" $*
Затем сохраните файл в папке bin и назовите его композитором без расширения файла. Затем добавьте папку bin в переменную среды f
Для MAC и LINUX используйте следующую процедуру:
Добавьте каталог, в котором находится композитор.phar для вас. PATH:
export PATH=$PATH:/yourdirectory
а затем переименуйте composer.phar в композитор:
mv composer.phar composer
Вы можете сделать простую глобальную установку для ее запуска из любого места
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
Сайт https://getcomposer.org/doc/00-intro.md#globally рекомендует этот способ. Хорошо работает на Ubuntu 14.04 без проблем. Таким образом, вам не нужно делать в качестве примера php compomser.phar show
, вы просто создаете composer show
в любом каталоге, с которым работаете.