OSX -bash: composer: ไม่พบคำสั่ง


93

หากฉันพิมพ์ "นักแต่งเพลง" ฉันได้รับข้อความแสดงข้อผิดพลาดข้างต้น

ฉันทำบน macbook ของฉัน:

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

เพื่อติดตั้ง Composer ทั่วโลก

ฉันต้องสร้างไดเร็กทอรี / local / bin / composer ด้วยตนเองซึ่งอาจทำให้เกิดข้อผิดพลาด

php composer.phar

ทำงานถ้าฉันอยู่ในไดเร็กทอรีรหัสของฉันโดยที่ไฟล์. phar อยู่

ฉันจะทำอย่างไรเพื่อแก้ปัญหาและเรียกใช้นักแต่งเพลงทั่วโลก

ของฉัน ~ / .profile

export PS1="\W: "
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx

~: echo $ PATH

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/bin
~: 

1
chmod 0755 /usr/local/bin/composerและเพิ่ม/usr/local/binการใน$PATH ~/.bash_profileนี่เป็นสิ่งพื้นฐานของผู้ใช้และไม่ได้อยู่ที่นี่
Droppy

ฉันควรเพิ่มอะไรใน. profile? ฉันอัปเดตโพสต์ของฉันด้วยเนื้อหา.
profile

ตอนนี้นักแต่งเพลงอยู่ที่/usr/local/bin/composer/composer.phar?
หลอกลวง

ปัญหาเดียวกันบน mac os x 10.11.4 ที่นี่กับ/usr/local/bin& /usr/local/bin/composerใน $ PATH ยังคงได้รับ-bash: /usr/local/bin/composer/composer.phar: Permission denied
Pmpr

คำตอบ:


298

เส้นทาง/usr/local/bin/composerไม่ได้อยู่ใน PATH ของคุณจะไม่พบไฟล์ปฏิบัติการในโฟลเดอร์นั้น

ลบโฟลเดอร์/usr/local/bin/composerแล้วเรียกใช้

$ mv composer.phar /usr/local/bin/composer

สิ่งนี้จะย้ายcomposer.pharเข้าไป/usr/local/bin/และเปลี่ยนชื่อเป็นcomposer(ซึ่งยังคงเป็นไฟล์ปฏิบัติการไม่ใช่โฟลเดอร์)

จากนั้นใช้มันเช่น:

$ composer ...

2
ความจริงที่ว่าคุณกำลังพิมพ์ "$" บางที? นั่นเป็นเพียงเพื่อแสดงถึงพร้อมต์บรรทัดคำสั่งของคุณซึ่งโดยทั่วไปคือ "$"
หลอกลวง

ฉันได้composer: Permission denied เห็นวิธีแก้ปัญหาบางอย่างsudo chmod แต่ฉันได้รับsudo: not found (มันคือ Synology (busybox))
Jeroen van Langen

5
บางทีนั่นอาจเป็นสาเหตุที่$ไม่ควรรวมอยู่ในคำตอบ ดูเหมือนชัดเจนสำหรับเรา แต่ไม่ใช่กับคนใหม่ และเห็นได้ชัดว่าคุณไม่จำเป็นต้อง$ให้คนอื่นเข้าใจว่าคุณกำลังพูดถึงเครื่องปลายทาง
JGallardo

4
ฉันคิดว่าการรวม $ นั้นยอดเยี่ยมมาก (หากคุณมีปัญหาในการทำความเข้าใจว่า $ คืออะไรสำหรับอืมบางทีการเขียนสคริปต์ linux อาจไม่ใช่สำหรับคุณ?)
gvanto

เหตุใดสิ่งนี้จึงไม่อยู่ในเอกสารของนักแต่งเพลง! Ty @deceze
Jonas de Herdt

70

ฉันลองทำหลายอย่าง แต่ดูเหมือนจะไม่ได้ผล แต่กระบวนการต่อไปนี้ทำได้ถูกต้องตอนนี้ฉันสามารถใช้composerคำสั่งในเทอร์มินัลได้ ฉันใช้ mac OS 10.12.1

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

ยอดเยี่ยม! มีเพียงโซลูชันของคุณเท่านั้นที่ใช้ได้สำหรับฉันขอบคุณ!
Nilay Dagdemir

30

ฉันประสบปัญหาเดียวกันแม้ว่าจะย้ายcomposer.pharไปที่ '/ usr / local / bin / composer' โดยใช้คำสั่งต่อไปนี้ใน amazon linux

mv composer.phar /usr/local/bin/composer

ฉันใช้คำสั่งต่อไปนี้เพื่อสร้างนามแฝงสำหรับไฟล์นักแต่งเพลง ตอนนี้มันกำลังดำเนินไปทั่วโลก

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

ฉันไม่รู้ว่าจะใช้ได้ใน OS-X หรือเปล่า แต่เมื่อฉันค้นหาด้วยปัญหานี้ฉันได้รับลิงค์นี้ ผมแค่โพสต์ที่นี่ หวังว่านี่จะช่วยใครบางคนได้


ใช่มันใช้งานได้หลังจากสร้างนามแฝง alias composer = '/ usr / local / bin / composer'
Sanjay

บทความเยี่ยม! ฉันถูกค้นหาเป็นจำนวนมากสำหรับเรื่องนี้
lovecoding



8

ติดตั้ง Composer ทั่วโลกบน OS X 10.11 El Capitan

คำสั่งนี้จะใช้ไม่ได้ใน OS X 10.11:

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

ให้เขียนถึงเส้นทาง / usr / local / bin แทนสำหรับผู้ใช้:

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

ตอนนี้เราสามารถเข้าถึงคำสั่ง composer ได้ทั่วโลกเหมือนเมื่อก่อน


2

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

cp composer.phar /usr/local/bin/composer

ทำเพื่อฉันบน Ubuntu หลังจากติดอยู่ 2 วัน


0

บน Mac OS X สำหรับใครก็ตามที่มี:

-bash: / usr / local / bin / composer: ปฏิเสธการอนุญาต

ปัญหาขณะพยายามย้ายดาวน์โหลดcomposer.pharโดยใช้:

mv composer.phar /usr/local/bin/composer

นี่คือสาเหตุ:

การป้องกันความสมบูรณ์ของระบบ

และนี่คือทางออก:

  1. Reboot ในโหมดการกู้คืน: รีสตาร์ทคุณ mac และค้างcmd + R
  2. เปิดเทอร์มินัลเมื่อโหมดการกู้คืนเริ่มต้นผ่านยูทิลิตี้> เทอร์มินัลผ่านแถบที่ด้านบน
  3. พิมพ์csrutil disableและกด Enter คุณควรเห็นข้อความส่งกลับแจ้งว่า:

    การป้องกันความสมบูรณ์ของระบบปิดอยู่

  4. รีสตาร์ทคอมพิวเตอร์ตามปกติแล้วไปตั้งค่าผู้แต่ง ฉันต้องใส่เข้าไป/usr/binและไม่ใช่ /usr/local/binเพราะด้วยเหตุผลบางอย่างมันก็ใช้ไม่ได้ที่นั่น
  5. กลับไปที่โหมดการกู้คืนและเปิดใช้งาน System Integrity Protector โดยพิมพ์ csrutil enable
  6. กลับมาบูตตามปกติและตรวจสอบว่านักแต่งเพลงทำงานได้ดี มันทำเพื่อฉัน

6 ขั้นตอนข้างต้นคัดลอกมาจากที่นี่ดังนั้นเครดิตทั้งหมดจึงเป็นของผู้ใช้Vasheer ที่นั่น


1
คุณควร chmod + x ไบนารีแทนที่จะปิด csrutil ของคุณ ...
theprojectabot

0

หากคุณต้องเรียกใช้นักแต่งเพลงด้วยsudoคุณควรเปลี่ยนไดเร็กทอรีของนักแต่งเพลงเป็น

/usr/bin

สิ่งนี้ได้รับการทดสอบบน Centos8

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