การติดตั้งทั่วโลกของนักแต่งเพลง (คู่มือ)


84

ฉันติดตามคู่มือผู้แต่ง(การติดตั้งทั่วโลกของผู้แต่ง (ด้วยตนเอง)) เพื่อติดตั้งผู้แต่งบน 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

สคริปต์อื่น ๆ จาก/usr/local/bin/งาน แต่ผู้แต่งให้:

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

composer.pharมันทำงานได้เฉพาะในกรณีที่ผมป้อนเส้นทางที่แน่นอนที่จะ จะแก้ไขได้อย่างไร?

คำตอบ:


29

อย่าเพิ่มphpในการเริ่มต้น แค่โทรcomposer.pharมา


มันได้ผลขอบคุณ คำอธิบายจะดีมากฉันอยากรู้อยากเห็น ขอบคุณอีกครั้ง.
umpirsky

2
ใช้งานได้เพราะผู้แต่งเป็นไฟล์ปฏิบัติการ (มีสิทธิ์ u + x เป็นค่าเริ่มต้น) ดังนั้นไม่จำเป็นต้องรัน php เพราะเชลล์จะทำมันต่อไป
netvision73

3
และมีรหัสพิเศษในบรรทัดแรกของ composer.phar #!/usr/bin/env phpซึ่งบอกอูบุนตูว่าไฟล์นั้นเป็นไฟล์ php และควรรันด้วยโปรแกรม php
T0xicCode

197

TLDR;

ตามที่อธิบายไว้ในเว็บไซต์นักแต่งเพลง:

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

วิธีการด้วยตนเอง

ผมพบว่าวิธีที่ง่ายต่อการติดตั้งทั่วโลกนักแต่งเพลงกว่าถูกเนรเทศตนเองในGitHub readme.mdเป็นจริงบนเว็บไซต์getcomposer.org :

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

และถ้าคุณขี้เกียจมากขึ้นเช่นฉันคุณสามารถสร้างนามแฝง:

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

วิธีนี้คุณสามารถเรียกนักแต่งเพลงได้ด้วย composer


12
ดี นามแฝงเป็นสัมผัสที่หวานแรงสำหรับผู้ครอบงำด้วยเช่นกัน พิมพ์ในนามสกุลไฟล์หรือไม่ Pfeh! นั่นคือการ
โกง

4
แม่ของความคิดสร้างสรรค์ อัปเดตล่าสุดนั้นดีที่สุด!
Pierre de LESPINAY

เมื่อฉันเรียกใช้$ sudo mv composer.phar /usr/local/bin/composerแล้วลองพิมพ์$ composerฉันได้รับข้อผิดพลาด: bash: /usr/local/bin/composer: Permission deniedฉันจะเปลี่ยนสิทธิ์เหล่านี้ได้อย่างไร
คอนเนอร์ปลิง

@ConnorLeech คุณสามารถเรียกใช้chmod +x /usr/local/bin/composer
Chibueze Opata

1
@ KimStacks ฉันคิดว่ามันสมเหตุสมผลที่จะทำให้มันอยู่ในบริบท
chrisjlee

28

ที่จริงแล้วgetcomposer.orgแนะนำวิธีการที่ง่ายกว่านี้:

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

ตอนนี้คุณสามารถใช้งานได้composerโดยไม่ต้องกังวลกับ alias หรือshสคริปต์อื่น


สิ่งนี้ถูกต้อง
Jack Franzen

7

อีกทางเลือกหนึ่งในการcomposerรับคำสั่งที่ดีแทน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

4
คุณสามารถใช้ --filename = ผู้แต่งเพื่อบันทึก symlink ตอน :)
magnetik

5

เพื่อการดำเนินการที่ง่ายขึ้นฉันสร้าง / usr / local / bin / ผู้แต่งด้วยเนื้อหา:

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

อย่าลืม sudo chmod +x /usr/local/bin/composer.phar


3

ด้านล่างนี้เป็นขั้นตอนที่ต้องปฏิบัติตามเพื่อติดตั้งผู้แต่งทั่วโลก: 1. ก่อนการติดตั้งนักแต่งเพลงโปรดตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของเรามีการติดตั้งการอ้างอิงทั้งหมด

ขั้นแรกให้อัพเดตแคชตัวจัดการแพ็กเกจโดยเรียกใช้:

$ sudo apt-get update

2. ตอนนี้มาติดตั้งการขึ้นต่อกัน เราจะต้อง

  • curl => เพื่อดาวน์โหลด Composer
  • php5-cli => การติดตั้งและเรียกใช้
  • git => ถูกใช้โดย Composer สำหรับดาวน์โหลดการอ้างอิงโครงการ

ทุกอย่างสามารถติดตั้งได้ด้วยคำสั่งต่อไปนี้:

$ sudo apt-get install curl php5-cli git

3. การติดตั้งนักแต่งเพลงด้วยคำสั่งเดียว:

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

4. สิ่งนี้จะดาวน์โหลดและติดตั้ง Composer เป็นคำสั่งทั้งระบบชื่อ composer ภายใต้ / usr / local / bin ผลลัพธ์ควรมีลักษณะดังนี้:

เอาท์พุท:

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

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

ใช้มัน: php / usr / local / bin / ผู้แต่ง

5. เพื่อทดสอบการติดตั้งของคุณให้เรียกใช้:

$ composer -V

เอาท์พุท:

Composer version 1.1.3 2016-06-26 15:42:08
  1. การติดตั้งสำเร็จแล้ว

0

ฉันได้สร้างสคริปต์ทุบตีง่ายๆที่ติดตั้งผู้แต่งโดยอัตโนมัติสำหรับผู้ใช้ปัจจุบัน / ผู้ใช้ทั้งหมดคุณสามารถใช้หนึ่งในคำสั่งต่อไปนี้ในเทอร์มินัลของคุณเพื่อใช้สคริปต์ทุบตี

ผู้ใช้ปัจจุบัน

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

ผู้ใช้ทั้งหมด

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

ตรวจสอบส่วนสำคัญ


-1

สิ่งนี้อาจใช้ได้ผลสำหรับคุณ โปรดทราบว่าsudoมีการใช้สองครั้งที่นี่

sudo curl -sS https://getcomposer.org/installer | sudo php

1
Hi! ยินดีต้อนรับสู่ถาม Ubuntu มันชัดเจนว่าทำไมคำสั่งอาจแก้ไขปัญหาที่ OP มี คุณช่วยแก้ไขคำถามและอธิบายคำตอบของคุณได้ไหม?
grooveplex
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.