Как запустить composer из любой точки мира?
Я только что установил composer в моем /usr/bin
папка, поэтому, когда из этой папки я запускаю php composer.phar
Я получаю справочную информацию о композиторе. Но, когда я пытаюсь запустить то же самое из другой папки, я получаю Could not open input file: composer.phar
.
как позвонить php composer.phar
отовсюду без проблем?
10 ответов:
композитор.phar может быть запущен сам по себе, не нужно префикс его с
php
. Это должно решить вашу проблему (находясь в разнице $PATH bash и php include_path).
можно сделать глобальные установки:
поскольку Composer работает с текущим рабочим каталогом, его можно установить системным способом.
- изменить в каталог в вашем пути, как
cd /usr/local/bin
- Get Composer
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
как запустить Composer из любого места (на MacOS X) через терминал
Справочная информация:
на самом деле на веб-сайте getComposer четко указано, что установите композитор с помощью следующей команды curl,
curl -sS https://getcomposer.org/installer |php
и он, безусловно, делает то, что он предназначен для этого. И тогда он говорит, чтобы переместить композитор.фар в каталоге / usr / local/bin / composer и тогда composer будет доступен по всему миру, используя после командной строки в терминале!
mv composer.phar /usr/local/bin/composer
вопрос:
таким образом, проблема, которая приводит меня к Google над ним, когда я выполнил вышеуказанную строку в терминале Mac OS X, он сказал, что, разрешение отказано. Как следующим образом:
mv: rename composer.phar to /usr/local/bin/composer: Permission denied
ответ:
после ссылке привел меня к решению, как шарм, и я благодарен этому. Что мне просто не хватало судо перед выше "перейти" командной строки. Теперь моя команда перемещения выглядит следующим образом:
sudo mv composer.phar /usr/local/bin/composer Password:
он непосредственно предлагает вам аутентифицировать себя и посмотреть, авторизованы ли вы. Поэтому, если вы введете действительный пароль, то перемещение будет сделано, и вы можете просто проверить, установлен ли composer глобально, используя следующую строку.
composer about
Я надеюсь, что этот ответ помог вам расширить свой взгляд и, наконец, решить вашу проблему.
Ура!
Сначала установите композитор, как указано в composer документация по установке. Я просто добавил Здесь для справки.
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
затем номер версии.надеюсь, что это поможет кому-то.
просто запустите эту команду для установки composer глобально
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
для запуска его из другого места вы можете использовать программу composer, которые поставляются с программой. Это в основном сценарий bash. Если у вас его нет, вы можете создать его, просто скопировав следующий код в текстовый файл
#!/bin/sh dir=$(d=$(dirname ""); 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 и назовите его composer без расширения файла. Затем добавьте папку bin в переменную среды f
для MAC и LINUX используйте следующую процедуру:
добавить каталог, где композитор.phar находится к вам путь:
export PATH=$PATH:/yourdirectory
а затем переименовать композитор.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
, в любом каталоге, с которым вы работаете.
некоторые из них могут быть связаны с ОС, на которой работает ваш сервер. Недавно я сделал миграцию в новую среду хостинга под управлением Ubuntu. Добавление этого псевдонима
alias composer="/path/to/your/composer"
to .bashrc или .bash_aliases не работал сначала по двум причинам:сервер был запущен csh, а не bash, по умолчанию. Чтобы проверить, если это проблема в вашем случае, запустить
echo
. Если то, что возвращается-csh
вы захотите изменить его на bash,так как некоторые процессы, запущенные Composer не удастся использование csh / tcsh.чтобы изменить его, сначала проверьте, доступен ли bash на вашем сервере, запустив
cat /etc/shells
. Если в возвращенном списке вы видитеbin/bash
, вы можете изменить значение по умолчанию на bash, запустивchsh -s /bin/csh
.теперь, на этом этапе, вы должны быть в состоянии запустить Composer, но обычно, на Ubuntu, вам придется загружать скрипт на каждом сеансе путем поиска ваших сценариев Bash, запустив
source ~/.bashrc
илиsource ~/.bash_profile
. Это связано с тем, что в большинстве случаев Ubuntu не будет загружать ваш Bash-скрипт, так как он загружает.profile
как сценарий по умолчанию.чтобы загрузить сценарии Bash при открытии сеанса, попробуйте добавить это в свой .профиль (это если ваш скрипт находится .bashrc-изменить соответствующим образом, если .bash_profile или другие):
if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi
чтобы проверить, закройте сеанс и перезагрузите его. Если он работает правильно, работает
composer -v
илиwhich composer
должны вести себя, как ожидалось.