วิธีการวางไดเรกทอรี ~ / .composer / ผู้ขาย / bin ใน PATH ของคุณ


232

ฉันใช้ Ubuntu 14.04 และฉันได้ลองใช้วิธีที่เป็นไปได้ทั้งหมดในการติดตั้ง Laravel เพื่อประโยชน์ ข้อความแสดงข้อผิดพลาดทุกสิ่งที่ฉันลอง ตอนนี้ฉันกำลังลองวิธีแรกในเอกสาร quickstart นั่นคือผ่านตัวติดตั้ง Laravel แต่มันบอกว่า "ตรวจสอบให้แน่ใจว่าวาง~/.composer/vendor/binไดเรกทอรีไว้ในของคุณPATHเพื่อให้สามารถเรียกใช้ Laravel ได้เมื่อคุณเรียกใช้คำสั่ง Laravel ในเทอร์มินัลของคุณ" ดังนั้นคำถามของฉันคือฉันจะทำอย่างไร นี่อาจเป็นคำถามง่าย ๆ แต่ฉันผิดหวังจริง ๆ และขอขอบคุณสำหรับความช่วยเหลือ

คำตอบ:


520

หากต้องการวางโฟลเดอร์นี้ในประเภทตัวแปรสภาพแวดล้อม PATH

export PATH="$PATH:$HOME/.composer/vendor/bin"

สิ่งนี้จะผนวกโฟลเดอร์ไปยัง PATH ที่มีอยู่ของคุณอย่างไรก็ตามมันจะใช้งานได้สำหรับเทอร์มินัลเซสชันปัจจุบัน

หากคุณต้องการให้มันถูกตั้งค่าโดยอัตโนมัติมันขึ้นอยู่กับเชลล์ที่คุณใช้ สำหรับ bash คุณสามารถต่อท้ายบรรทัดนี้เพื่อ$HOME/.bashrcใช้โปรแกรมแก้ไขรายการโปรดหรือพิมพ์ต่อไปนี้บนเชลล์

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

เพื่อตรวจสอบว่ามันทำงานออกจากระบบและเข้าสู่ระบบอีกครั้งหรือดำเนินการ

source ~/.bashrc

บนเปลือก

PS: สำหรับระบบอื่น ๆ ที่ไม่มี~/.bashrcคุณสามารถใส่มันลงไป~/.bash_profile

PSS: สำหรับ Laravel เมื่อเร็ว ๆ นี้คุณจะต้องใส่ใน$HOME/.config/composer/vendor/binPATH

PSSS: ถ้าคุณต้องการวางโฟลเดอร์นี้บนพา ธ สำหรับเชลล์อื่น ๆ หรือบน GUI คุณควรผนวกexportคำสั่งดังกล่าวไปที่~/.profile(cf. https://help.ubuntu.com/community/EnvironmentVariables )


1
ใช้งานได้อย่างมีเสน่ห์ที่นี่บน Ubuntu 14.04 คุณอาจต้องการออกจากระบบ / เข้าสู่ระบบและ / หรือเปิดหน้าต่างเทอร์มินัลใหม่หากสิ่งต่าง ๆ ไม่ทำงาน
Michiel

4
คุณควรใช้$HOMEแทน~เส้นทางผู้แต่ง ไม่แน่ใจเรื่องการทุบตี แต่มันเป็นสิ่งที่จำเป็นอย่างแน่นอนเมื่อคุณตั้งค่าใน .zshrczsh
phaberest

40
มันควรจะตั้งข้อสังเกตว่าบน Ubuntu 16.04 ทำงาน Laravel 5.1 เส้นทาง: ~ / .config / นักแต่งเพลง / ผู้ขาย / bin
waweru

1
ฉันได้ลองสิ่งนี้แล้วไม่มีโชค! นอกจากนี้ฉันไม่มีไดเรกทอรีที่เรียกว่า. /composer/vendor ฉันมี. composer เท่านั้นและในนั้นฉันมีโฟลเดอร์แคช .. เคยค้นหา 2 วันแล้ว
nclsvh

1
echo 'export PATH = "$ PATH: $ HOME / .config / ผู้แต่ง / ผู้ขาย / bin"' >> ~ / .bashrc ขาดไดเรคทอรี .config จากนั้นจึงรันซอร์ส ~ / .bashrc
เซซิล merrel aka bringrainfire

137

คำแนะนำโดยละเอียด:

ใน ~ / .bashrc ของคุณเพิ่มบรรทัดเหล่านี้:

export PATH="$PATH:~/.composer/vendor/bin"

จากนั้นโหลดซ้ำ:

source ~/.bashrc

ตรวจสอบว่ามันเพิ่มอย่างถูกต้อง:

echo $PATH

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/web/bin:~/.composer/vendor/bin

ขอบคุณ! ฉันไม่คุ้นเคยกับยูนิกซ์มากเกินไปและมันก็สมเหตุสมผลดี! (และดอลลาร์!)
sunnysidedown916

สิ่งที่ฉันก้อง $ PATH ไม่รวมส่วนนักแต่งเพลง .. ฉันได้เพิ่มอย่างแท้จริงมากกว่า 100 ครั้งในทุกวิธีที่เป็นไปได้รีบูตประมาณ 5 ครั้งรีโหลด bashrc .. ไม่มีอะไร ความคิดใด ๆ
nclsvh

source ~ / .bashrc --- ฉันต้องทำสิ่งนี้ทุกครั้งที่ฉันควรจะ laravel นี่คือคำตอบที่ดีที่สุดสำหรับฉัน
Brainmaniac

54

ใน Ubuntu 16.04 LTS ที่มีผู้แต่งติดตั้งทั่วโลกสิ่งนี้ใช้ได้สำหรับฉัน

แก้ไขไฟล์. bashrc ในโฮมไดเร็กตอรี่ของคุณที่วางพา ธ ไปยังโฟลเดอร์ bin ผู้แต่งที่อยู่ใน /your/home/.config/composer/vendor/bin

echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc

source ~/.bashrc

หากไม่ได้ผลให้ตรวจสอบเส้นทางไปยังไดเรกทอรีถังขยะผู้แต่งและปิดและเปิดเครื่องอีกครั้ง มิฉะนั้นลองออกจากระบบและเข้าสู่ระบบใน Ubuntu

ยังทำงานใน Ubuntu 18.04 ขอบคุณ @ chifliiiii สำหรับความคิดเห็นของคุณ


1
ทำงานกับ Parrot OS 3.8
Abdelsalam Shahlol

1
ใช้งานได้เมื่อคุณเรียกใช้ตัวติดตั้ง laravel ผู้แต่งจะเปลี่ยนไดเรกทอรีเป็นไดเรกทอรีปัจจุบันที่เปลี่ยนเป็น /home/username/.config/composer ./composer.json ได้รับการอัปเดตตามเส้นทางในคำตอบนี้
ottz0

1
นี่คืออันที่ทำงานกับฉันบน Ubuntu 17.10 ขอบคุณ
GabMic

36

สำหรับการตั้งค่า PATH บน Yosemite (OS X 10.10.5) ให้ใช้คำสั่งด้านล่าง:

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bash_profile

หากต้องการรีโหลดออกจากเทอร์มินัลแล้วเริ่มต้นใหม่อีกครั้งหรือใช้

source ~/.bash_profile

ช่วยฉันด้วยหวังว่ามันจะช่วยคนอื่นให้อยู่ที่นั่น!


2
ขอบคุณ @ forca001 ในตัวฉัน.zshrcมันไม่ได้ใช้งาน~และในที่สุดก็ทำได้ด้วย$HOME
phaberest

4
ดี! สิ่งนี้ใช้ได้สำหรับฉันเช่นกันบน Mac OS X El-Captain
Askar

1
นี่เป็นคำตอบเดียวที่ทำงานกับฉันบน Mac ที่ใช้ OSX Mojave ขอบคุณมาก!
Ryan Coolwebs

นี่ควรเป็นคำตอบที่ยอมรับได้ ทำงานกับ MacOS Majave 14.x
OMi Shah

15

ฉันทำทุกอย่างที่กล่าวมาแล้ว แต่ก็ไม่ได้ผลสำหรับฉัน

ฉันเพิ่งคัดลอกสิ่งนี้ลงในเทอร์มินัลและมันก็ใช้ได้กับฉัน

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

1
@ grit45 คุณช่วยอธิบายหน่อยได้ไหมว่าทำไมมันถึงใช้งานได้เล็กน้อย
Abhishek Goel

คำถามนี้เกี่ยวกับการวางไดเรกทอรีลงบนพา ธ ไม่ใช่วิธีติดตั้งผู้แต่ง
MrTux

9

ใช้สำหรับตั้งค่า PATH บน Mac OS X เวอร์ชั่น 10.9.5

ฉันพยายามเพิ่ม $ HOME เพราะฉันใช้โปรไฟล์ผู้ใช้:

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

เมื่อคุณไม่ใช้โปรไฟล์ผู้ใช้:

echo 'export PATH="$PATH:~/.composer/vendor/bin"' >> ~/.bashrc

จากนั้นโหลดซ้ำ:

source ~/.bashrc

ฉันหวังว่านี่จะช่วยคุณได้


4

เปิดเทอร์มินัล Mac:

vi ~/.bashrc

หากคุณไม่ได้ใช้ vi มันอาจดูตลกในตอนแรกดังนั้นให้ป้อนรหัสต่อไปนี้อย่างระมัดระวังตามลำดับ:

i
export PATH="$PATH:$HOME/.composer/vendor/bin"

กดปุ่ม ESC

:
w

กดปุ่มตกลง

:
q

กดปุ่มตกลง

ตอนนี้คุณควรกลับสู่มุมมองเทอร์มินัลปกติ

ตรวจสอบว่าผู้แต่งตอนนี้มีเส้นทางที่ถูกต้อง:

cd ~/.composer
echo $PATH

หากคุณเห็นเส้นทางรวมถึงไดเรกทอรีไฟล์ของคุณ (เช่น /Users/JeffStrongman/.composer/vendor/bin) คุณก็พร้อมแล้ว

cd

จากนั้นเรียกใช้การติดตั้งของคุณ ฉันพบปัญหานี้ขณะกำหนดค่า Mac ให้ใช้ Laravel Valet

ตัวอย่าง (ไม่จำเป็น)

valet install

3

สำหรับ Linux Mint 18: แก้ไข ~ / .bashrc และเพิ่มบรรทัดนี้ที่ด้านล่าง:

export PATH="$PATH:$HOME/.config/composer/vendor/bin"

ดังนั้น resource .bashrc (พิมพ์ในคอนโซล):

source ~/.bashrc (or close and reopen the terminal)

ทดสอบโดยพิมพ์ในคอนโซล:

echo $PATH

หรือพิมพ์ในคอนโซล:

laravel

3

เพิ่มตัวแปรสภาพแวดล้อมลงใน bashrcไฟล์

สำหรับ Ubuntu 17.04 และ 17.10:

echo 'export PATH="~/.config/composer/vendor/bin"' >> ~/.bashrc

สำหรับ Ubuntu 18.04

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

เพื่อตรวจสอบตัวแปรสภาพแวดล้อมการทำงานหรือไม่ทำการรีโหลดbashrcไฟล์ก่อน

source ~/.bashrc

หากไม่ได้ใช้วิธีการใด ๆ อันดับแรกให้ตรวจสอบว่ามีการติดตั้ง นักแต่งเพลง เพื่อตรวจสอบเรียกใช้คำสั่งนี้:

locate composer -l 1

จากนั้นคัดลอกเอาต์พุตเพิ่มเอาต์พุตลงในบรรทัดนี้และรันคำสั่งอีกครั้ง

 echo 'export PATH="OUTPUTHERE/vendor/bin"' >> ~/.bashrc

หลังจากทำงานคำสั่ง Laravel สำเร็จให้สิทธิ์ไปยังโฟลเดอร์พาเรนต์ (ตัวอย่างเช่นคุณกำลังใช้เซิร์ฟเวอร์ apache มากกว่าให้สิทธิ์แก่ไดเรกทอรีไดเรกทอรีเว็บรายการ Apache ดังกล่าว)

sudo chown $USER:$USER -R /var/www/html/

2

การเพิ่มการส่งออก PATH = "$ PATH: ~ / .composer / ผู้ขาย / ถัง" เพื่อ ~ / .bashrcทำงานในกรณีของคุณเพราะคุณต้องการมันเมื่อคุณเรียกใช้ขั้ว
เพื่อความสมบูรณ์ให้ผนวกเข้ากับ PATH ใน / etc / environment ( sudo gedit / etc / environmentและการเพิ่ม~ / .composer / ผู้ขาย / binใน PATH)จะทำงานแม้ว่าจะถูกเรียกโดยโปรแกรมอื่นเพราะเป็นระบบ ตัวแปรสภาพแวดล้อมที่กว้าง
https://help.ubuntu.com/community/EnvironmentVariables


2

เส้นทางของฉันไม่มี / composer เพียง / ผู้แต่งดังนั้นเส้นทางของฉันคือ: -

export PATH="$PATH:$HOME/.config/composer/vendor/bin"

สิ่งนี้ใช้ได้กับฉันใน Ubuntu 20.04


1

ผู้ใช้ MacOS Sierra:

ตรวจสอบให้แน่ใจว่าคุณลบ MAAP และ MAAP Pro จากโฟลเดอร์ Application หากคุณติดตั้งไว้ในคอมพิวเตอร์ของคุณ

อยู่ในไดเรกทอรีรากcd ~ ตรวจสอบ homebrew (ถ้าคุณติดตั้ง homebrew) หรือมี PHP ทันสมัย

brew install php70

export PATH="$PATH:$HOME/.composer/vendor/bin"

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bash_profile

source ~/.bash_profile

cat .bash_profile

ตรวจสอบให้แน่ใจว่าสิ่งนี้แสดงอยู่: export PATH = "$ PATH: $ HOME / .composer / ผู้ขาย / bin"

laravel

ตอนนี้มันควรจะเป็นระดับโลก


1

สำหรับ Ubuntu 16.04

echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc

source ~/.bashrc

การปรับปรุงคำตอบที่มีอยู่คืออะไร?
MrTux

1

ไดเร็กทอรี bin Composer ถูกตั้งค่าและเก็บไว้ในbin-dirตัวแปร config และอาจแตกต่างกันไปตามการตั้งค่าของคุณ การรันคำสั่งcomposer global config bin-dir --absoluteจะบอกเส้นทางที่แน่นอนไปยังไดเรกทอรี bin ผู้แต่งส่วนกลางของคุณ การใช้คำสั่งนี้คุณสามารถปรับเปลี่ยนของคุณ.bash_profileเพื่อเพิ่มไปยังPATHวิธีการกำหนดค่าของคุณ

# Add Composer bin-dir to PATH if it is installed.
command -v composer >/dev/null 2>&1 && {
        COMPOSER_BIN_DIR=$(composer global config bin-dir --absolute 2> /dev/null)
        PATH="$PATH:$COMPOSER_BIN_DIR";
}
export PATH

1

ฉันทำสิ่งนี้และทำงานบน osx:

อาหารกลางวันสถานีของคุณ

 nano ~/.bash_profile 

และแปะ

 export PATH=~/.composer/vendor/bin:$PATH

กดควบคุม + x

กดปุ่ม y

กดปุ่ม Return / Enter


1

AWS Ubuntu 18.04 LTS

Linux ws1 4.15.0-1023-aws # 23-Ubuntu SMP จ. 24 ก.ย. 16:31:06 UTC 2018 x86_64 x86_64 x86_64 GNU / Linux

echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc && source ~/.bashrc

ทำงานให้ฉัน


การปรับปรุงคำตอบที่มีอยู่คืออะไร?
MrTux

1

บน Fedora:

ถังขยะผู้แต่งบางส่วนไม่ได้อยู่ในไดเรกทอรี. composer ดังนั้นคุณต้องค้นหาโดยใช้:

locate composer | grep vendor/bin

จากนั้นให้สะท้อนส่วนลงใน. bashrc

echo 'export PATH="$PATH:$HOME/{you_composer_vendor_path}"' >> ~/.bashrc

ของฉันคือ"/.config/composer/vendor/bin" ไชโย!


0

นี่คือสิ่งที่ฉันเพิ่มลงในไฟล์. bashrc และทำงานได้

export PATH="$PATH:/home/myUsername/.composer/vendor/bin"


0

ในกรณีที่มีคนใช้ ZSH ทุกขั้นตอนเหมือนกันยกเว้นบางสิ่ง:

  1. ค้นหาไฟล์ .zshrc
  2. เพิ่มบรรทัดต่อไปนี้ที่ด้านล่าง export PATH=~/.composer/vendor/bin:$PATH
  3. source ~/.zshrc

จากนั้นลองvaletถ้าถามรหัสผ่านทุกอย่างก็โอเค


-1

เพื่อแก้ปัญหานี้ให้แน่ใจว่าคุณพบเส้นทางของ composer.phar ก่อน

ตัวอย่างของฉันเป็นอะไรแบบนี้

alias composer="php /Users/Your-username/composer.phar"

ไปที่ cd Users> ผู้ใช้ของคุณ> Command ls และดูว่า composer.phar อยู่ที่นั่นหรือไม่ถ้าใช่ให้เพิ่มบรรทัดด้านบนไปยัง. bash_profile ของคุณ ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนชื่อผู้ใช้เป็นของคุณเอง

หวังว่านี่จะช่วยคุณได้

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