Globalna instalacja Composer (instrukcja)

84

Postępowałem zgodnie z instrukcją kompozytora (globalna instalacja kompozytora (instrukcja)), aby zainstalować kompozytora na Ubuntu.

$ ll /usr/local/bin/
total 4760
drwxr-xr-x  2 root root    4096 2012-03-29 08:29 ./
drwxr-xr-x 10 root root    4096 2011-04-26 00:50 ../
-rwxr-xr-x  1 root root  410324 2012-03-29 08:28 composer.phar

Inne skrypty z /usr/local/bin/utworów, ale kompozytor daje:

$php composer.phar update Could not open input file: composer.phar

Działa tylko wtedy, gdy wprowadzę ścieżkę bezwzględną composer.phar. Jak to naprawić?

umpirsky
źródło

Odpowiedzi:

29

Nie dodawaj phpna początku. Po prostu zadzwoń composer.phar.

garakkio
źródło
Działa dzięki. Wyjaśnienie byłoby świetne, jestem ciekawa. Dzięki jeszcze raz.
umpirsky
2
Działa, ponieważ kompozytor jest już plikiem wykonywalnym (domyślnie ma prawa u + x). Więc nie ma potrzeby wykonywania php, ponieważ i tak zrobi to shell.
netvision73
3
W pierwszym wierszu #!/usr/bin/env phppliku composer.phar znajduje się specjalny kod, który informuje ubuntu, że plik jest plikiem php i powinien zostać uruchomiony z programem php.
T0xicCode
197

TLDR;

Jak opisano na stronie Composer :

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

Metoda ręczna

Znalazłem łatwiejszy sposób na globalną instalację kompozytora niż podręcznik zalecany w github readme.md . W rzeczywistości znajduje się na stronie getcomposer.org :

curl -s http://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/

A jeśli jesteś jeszcze bardziej leniwy, tak jak ja, możesz utworzyć alias:

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

W ten sposób możesz wywołać kompozytora za pomocą just composer

chrisjlee
źródło
12
Miły. Alias ​​jest również słodkim akcentem dla obsesyjnych kompulsywnych. Wpisujesz rozszerzenia plików? Pfeh! To dla chumpów
jajowate
4
Lenistwo, matka kreatywności. Ostatnia aktualizacja jest najlepsza!
Pierre de LESPINAY
po uruchomieniu $ sudo mv composer.phar /usr/local/bin/composeri próbie wpisania pojawia $ composersię błąd: bash: /usr/local/bin/composer: Permission deniedJak mogę zmienić te uprawnienia?
Connor Leech
@ConnorLeech Możesz biegaćchmod +x /usr/local/bin/composer
Chibueze Opata
1
@KimStacks Myślę, że sensowne jest zachowanie kontekstu.
chrisjlee
28

W rzeczywistości getcomposer.org zaleca teraz prostszą metodę:

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

Teraz możesz po prostu używać composerbez kłopotania się z aliasem lub osobnym shskryptem.

BenjaminRH
źródło
To jest poprawne.
Jack Franzen
7

Kolejna alternatywa dla uzyskania ładnego composerpolecenia zamiast composer.phar:

$ curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin
$ ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
Michael Härtl
źródło
4
Możesz nawet użyć --filename = kompozytor, aby zapisać część dowiązania symbolicznego :)
magnetik
5

dla łatwiejszego wykonania stworzyłem / usr / local / bin / kompozytor z zawartością:

#!/bin/sh
exec /usr/local/bin/composer.phar "$@"

nie zapomnij o sudo chmod +x /usr/local/bin/composer.phar

bazilio91
źródło
3

Poniżej znajdują się kroki, które należy wykonać, aby zainstalować Composer na całym świecie: 1. Przed zainstalowaniem Composer upewnij się, że na naszym serwerze są zainstalowane wszystkie zależności.

Po pierwsze, zaktualizuj pamięć podręczną menedżera pakietów, uruchamiając:

$ sudo apt-get update

2. Teraz zainstalujmy zależności. Będziemy potrzebować

  • curl =>, aby pobrać Composer
  • php5-cli => instalacja i uruchomienie
  • git => używane przez Composer do pobierania zależności projektu

Wszystko można zainstalować za pomocą następującego polecenia:

$ sudo apt-get install curl php5-cli git

3. Instalacja kompozytora za pomocą jednego polecenia:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

4. Spowoduje to pobranie i zainstalowanie programu Composer jako ogólnosystemowego polecenia o nazwie kompozytor w katalogu / usr / local / bin. Dane wyjściowe powinny wyglądać następująco:

Wynik:

\#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /usr/local/bin/composer

Użyj go: php / usr / local / bin / composer

5. Aby przetestować instalację, uruchom:

$ composer -V

Wynik:

Composer version 1.1.3 2016-06-26 15:42:08
  1. Instalacja zakończyła się sukcesem
Ravistm
źródło
0

Stworzyłem prosty skrypt bash, który automatycznie instaluje kompozytora dla bieżącego użytkownika / wszystkich użytkowników. Możesz użyć jednego z poniższych poleceń w swoim terminalu, aby użyć skryptu bash.

Aktualny użytkownik

wget -O - https://gist.github.com/EmpireWorld/1dd5f59566e186907f99dc16badc382a/raw/install-composer-local.sh | bash

Wszyscy użytkownicy

wget -O - https://gist.github.com/EmpireWorld/1dd5f59566e186907f99dc16badc382a/raw/install-composer-global.sh | bash

Sprawdź istotę

Hasan Bayat
źródło
-1

To może Ci pomóc. Zauważ, że sudoużyto tutaj dwa razy.

sudo curl -sS https://getcomposer.org/installer | sudo php
do_do_do
źródło
1
Cześć! Witamy w Ask Ubuntu. W tej chwili nie jest jasne, dlaczego polecenia mogą rozwiązać problem PO. Czy możesz zredagować swoje pytanie i opracować odpowiedź?
grooveplex