Globale Installation von Composer (manuell)

84

Ich habe das Composer- Handbuch (globale Installation von Composer (manuell)) befolgt , um Composer unter Ubuntu zu installieren.

$ 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

Andere Skripte aus /usr/local/bin/Werken, aber Komponist gibt:

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

Es funktioniert nur, wenn ich den absoluten Pfad zu eingebe composer.phar. Wie kann man das beheben?

umpirsky
quelle

Antworten:

29

Nicht phpam Anfang hinzufügen . Rufen Sie einfach an composer.phar.

Garakkio
quelle
Es funktioniert, danke. Erklärung wäre toll, ich bin gespannt. Danke noch einmal.
Umpirsky
2
Es funktioniert, weil der Komponist bereits eine ausführbare Datei ist (standardmäßig hat er u + x-Rechte). Es ist also nicht erforderlich, PHP auszuführen, da Shell dies sowieso tut.
Netvision73
3
Und es gibt einen speziellen Code in der ersten Zeile von composer.phar, #!/usr/bin/env phpder Ubuntu mitteilt, dass die Datei eine PHP-Datei ist und mit dem PHP-Programm ausgeführt werden sollte.
T0xicCode
197

TLDR;

Wie auf der Composer- Website beschrieben :

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

Manuelle Methode

Ich habe einen einfacheren Weg gefunden, um Composer global zu installieren, als das im Github vorgeschriebene Handbuch readme.md. Es ist eigentlich auf der Website getcomposer.org :

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

Und wenn Sie noch fauler sind, wie ich, können Sie einen Alias ​​erstellen:

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

Auf diese Weise können Sie Composer mit just aufrufen composer

chrisjlee
quelle
12
Nett. Der Alias ​​ist auch eine süße Note für Zwangsstörungen. Dateierweiterungen eingeben? Pfeh! Das ist für Trottel
Eierlegs
4
Faulheit, Mutter der Kreativität. Letztes Update ist das Beste!
Pierre de LESPINAY
Wenn ich starte $ sudo mv composer.phar /usr/local/bin/composerund dann versuche, etwas einzugeben, $ composererhalte ich die Fehlermeldung: bash: /usr/local/bin/composer: Permission deniedWie kann ich diese Berechtigungen ändern?
Connor Leech
@ConnorLeech You can runchmod +x /usr/local/bin/composer
Chibueze Opata
1
@KimStacks Ich halte es für sinnvoll, den Kontext beizubehalten.
Chrisjlee
28

Eigentlich empfiehlt getcomposer.org jetzt eine einfachere Methode:

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

Jetzt können Sie es einfach verwenden, composerohne sich um einen Alias ​​oder ein separates shSkript zu kümmern .

BenjaminRH
quelle
Das ist richtig.
Jack Franzen
7

Eine weitere Alternative, um einen netten composerBefehl zu erhalten, anstatt 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
quelle
4
Sie können sogar --filename = composer verwenden, um den Symlink-Teil zu speichern :)
magnetik
5

Zur einfacheren Ausführung habe ich / usr / local / bin / composer mit folgendem Inhalt erstellt:

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

nicht vergessen sudo chmod +x /usr/local/bin/composer.phar

bazilio91
quelle
3

Im Folgenden sind die Schritte aufgeführt, die Sie ausführen müssen, um Composer global zu installieren: 1. Stellen Sie vor der Installation von Composer sicher, dass auf unserem Server alle Abhängigkeiten installiert sind.

Aktualisieren Sie zunächst den Paketmanager-Cache, indem Sie Folgendes ausführen:

$ sudo apt-get update

2. Nun installieren wir die Abhängigkeiten. Wir werden brauchen

  • curl => um Composer herunterzuladen
  • php5-cli => installieren und ausführen
  • git => wird von Composer zum Herunterladen von Projektabhängigkeiten verwendet

Alles kann mit dem folgenden Befehl installiert werden:

$ sudo apt-get install curl php5-cli git

3. Composer-Installation mit einem einzigen Befehl:

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

4. Dadurch wird Composer als systemweiter Befehl namens composer unter / usr / local / bin heruntergeladen und installiert. Die Ausgabe sollte folgendermaßen aussehen:

Ausgabe:

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

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

Benutze es: php / usr / local / bin / composer

5. Führen Sie zum Testen Ihrer Installation Folgendes aus:

$ composer -V

Ausgabe:

Composer version 1.1.3 2016-06-26 15:42:08
  1. Installation erfolgreich
Ravistm
quelle
0

Ich habe ein einfaches Bash-Skript erstellt , das Composer automatisch für aktuelle Benutzer / alle Benutzer installiert. Sie können einen der folgenden Befehle in Ihrem Terminal verwenden, um Bash-Skript zu verwenden.

Aktueller Benutzer

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

Alle Nutzer

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

Schauen Sie sich das Wesentliche an

Hasan Bayat
quelle
-1

Das könnte bei Ihnen funktionieren. Beachten Sie, dass sudohier zweimal verwendet wird.

sudo curl -sS https://getcomposer.org/installer | sudo php
Machen, machen, machen
quelle
1
Hallo! Willkommen bei Ask Ubuntu. Derzeit ist nicht klar, warum die Befehle das Problem des OP lösen können. Können Sie bitte Ihre Frage bearbeiten und Ihre Antwort erläutern?
Grooveplex