Как запустить composer из любой точки мира?


Я только что установил composer в моем /usr/bin папка, поэтому, когда из этой папки я запускаю php composer.phar Я получаю справочную информацию о композиторе. Но, когда я пытаюсь запустить то же самое из другой папки, я получаю Could not open input file: composer.phar.

как позвонить php composer.phar отовсюду без проблем?

10 64

10 ответов:

композитор.phar может быть запущен сам по себе, не нужно префикс его с php. Это должно решить вашу проблему (находясь в разнице $PATH bash и php include_path).

можно сделать глобальные установки:

поскольку Composer работает с текущим рабочим каталогом, его можно установить системным способом.

  1. изменить в каталог в вашем пути, какcd /usr/local/bin
  2. Get Composercurl -sS https://getcomposer.org/installer | php
  3. сделать phar исполняемый chmod a+x composer.phar
  4. перейдите в каталог проектаcd /path/to/my/project
  5. используйте Composer как обычноcomposer.phar install
  6. дополнительно вы можете переименоватьcomposer.pharдоcomposerчтобы было проще

обновление: иногда вы не можете или не хотите загружать в /usr/local/bin (некоторые испытали проблемы с разрешениями пользователя или ограниченный доступ), в этом случае вы можете попробовать это

  1. открыть терминал
  2. curl -sS http://getcomposer.org/installer | php -- --filename=composer
  3. chmod a+x composer
  4. 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 должны вести себя, как ожидалось.