OSX -bash: composer: lệnh không tìm thấy


91

Nếu tôi nhập "nhà soạn nhạc", tôi nhận được thông báo lỗi ở trên.

Tôi đã làm trên macbook của mình:

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

để cài đặt Composer trên toàn cầu.

Tôi đã phải tạo thủ công thư mục / local / bin / composer, có thể điều này gây ra lỗi?

php composer.phar

hoạt động nếu tôi trong thư mục mã của mình có tệp .phar.

Tôi có thể làm gì để giải quyết vấn đề và chạy nhà soạn nhạc trên toàn cầu?

My ~ / .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/composervà thêm /usr/local/binvào $PATHtrong ~/.bash_profile. Đây là công cụ cơ bản của người dùng và không thuộc về đây.
Droppy

Chính xác thì tôi nên thêm gì vào .profile của mình? Tôi cập nhật bài của tôi với nội dung của .profile của tôi
bobbybackblech

Vì vậy, nhà soạn nhạc bây giờ là /usr/local/bin/composer/composer.phar?
dối trá

Cùng một vấn đề trên mac os x 10.11.4 đây với /usr/local/bin& /usr/local/bin/composertrong $ PATH, vẫn nhận được-bash: /usr/local/bin/composer/composer.phar: Permission denied
Pmpr

Câu trả lời:


288

Đường dẫn /usr/local/bin/composerkhông có trong PATH của bạn, các tệp thực thi trong thư mục đó sẽ không được tìm thấy.

Xóa thư mục /usr/local/bin/composer, sau đó chạy

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

Thao tác này sẽ chuyển composer.pharvào /usr/local/bin/và đổi tên nó thành composer(vẫn là một tệp thực thi, không phải một thư mục).

Sau đó, chỉ cần sử dụng nó như:

$ composer ...

2
Có lẽ bạn đang nhập "$"? Đó chỉ để biểu thị dấu nhắc dòng lệnh của bạn, thường là "$".
dối trá

Tôi nhận được một composer: Permission denied cưa một số giải pháp với sudo chmod nhưng tôi nhận được sudo: not found (đó là một Synology (busybox))
Jeroen van Langen

5
Có lẽ đó là lý do tại sao $không nên đưa vào câu trả lời. Điều này có vẻ hiển nhiên với chúng tôi nhưng với những người mới thì không. Và hiển nhiên là bạn không cần $mọi người hiểu rằng bạn đang nói về thiết bị đầu cuối.
JGallardo

4
Tôi nghĩ rằng trong đó có $ là rất tốt (nếu bạn có vấn đề hiểu biết những gì các $ là cho hmmm sau đó kịch bản có lẽ Linux không phải dành cho bạn?)
gvanto

Tại sao cái này không có trong tài liệu về nhà soạn nhạc! Ty @deceze
Jonas de Herdt

68

Tôi đã thử rất nhiều thứ nhưng dường như không có cách nào hiệu quả. Nhưng quy trình sau đã làm đúng, bây giờ tôi có thể sử dụng composerlệnh trong terminal. Tôi đang sử dụng mac OS 10.12.1

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

Xuất sắc! Chỉ có giải pháp của bạn làm việc cho tôi, cảm ơn!
Nilay Dagdemir

30

Tôi gặp phải vấn đề tương tự ngay cả sau khi chuyển composer.pharđến '/ usr / local / bin / composer' bằng cách sử dụng lệnh sau trong amazon linux.

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

Tôi đã sử dụng lệnh sau để tạo bí danh cho tệp trình soạn nhạc. Vì vậy, bây giờ nó đang chạy trên toàn cầu.

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

Tôi không biết liệu điều này có hoạt động trong OS-X hay không. Nhưng khi tôi tìm kiếm với vấn đề này, tôi nhận được liên kết này. Vì vậy, tôi chỉ đăng ở đây. Hy vọng điều này sẽ giúp một ai đó.


Phải, nó hoạt động sau khi tạo bí danh. alias composer = '/ usr / local / bin / composer'
Sanjay

Bài báo tuyệt vời! Tôi đã được tìm kiếm rất nhiều cho điều này.
lovecoding

23

Đã thử nghiệm trên Mac OSX sau khi cài đặt qua hướng dẫn trên trang web của nhà soạn nhạc:

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

10

Điều này hoạt động trên Ubuntu;

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

bạn nên khởi động lại thiết bị đầu cuối của mình khi bạn đã thực hiện xong việc này
alone_coder

7

Cài đặt toàn cầu Composer trên OS X 10.11 El Capitan

Lệnh này sẽ KHÔNG hoạt động trong OS X 10.11:

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

Thay vào đó, hãy ghi vào đường dẫn / usr / local / bin cho người dùng:

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

Bây giờ chúng ta có thể truy cập lệnh composer trên toàn cầu, giống như trước đây.


2

điều này làm lãng phí tôi một hoặc hai ngày. như tại sao không ai nói trên các bài hướng dẫn rằng không được sử dụng lệnh soạn nhạc nếu không thực sự liên kết và các thứ ... Ý tôi là mọi người đều viết lệnh soạn nhạc giống như bước tiếp theo khi chúng ta không phải là người dùng có kinh nghiệm 5 năm để biết những chi tiết này.

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

đã làm điều đó cho tôi trên ubuntu sau khi bị mắc kẹt trong 2 ngày


0

Trên Mac OS X, cho bất kỳ ai có:

-bash: / usr / local / bin / composer: Quyền bị từ chối

sự cố, trong khi cố gắng di chuyển đã tải xuống composer.pharbằng:

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

đây là nguyên nhân:

Bảo vệ tính toàn vẹn của hệ thống

và đây là giải pháp:

  1. Khởi động lại trong chế độ khôi phục: khởi động lại bạn mac và giữ cmd + R .
  2. Mở thiết bị đầu cuối sau khi chế độ khôi phục đã bắt đầu qua Tiện ích> Thiết bị đầu cuối qua thanh ở trên cùng.
  3. Nhập csrutil disablevà nhấn Enter. Bạn sẽ thấy một tin nhắn trả về nói rằng:

    Chế độ Bảo vệ Toàn vẹn Hệ thống đang tắt.

  4. Khởi động lại máy tính như bình thường và sau đó thiết lập trình soạn nhạc. Tôi đã phải đưa nó vào /usr/binKHÔNG /usr/local/bin vì vì lý do nào đó mà nó không hoạt động ở đó.
  5. Quay lại chế độ khôi phục và bật Trình bảo vệ toàn vẹn hệ thống bằng cách nhập csrutil enable
  6. Quay lại khởi động bình thường và kiểm tra xem trình soạn nhạc có hoạt động không. Nó đã làm cho tôi.

6 bước trên được sao chép từ đây , vì vậy tất cả tín dụng thuộc về người dùng Vasheer ở đó.


1
Bạn nên chmod + x nhị phân thay vì chỉ tắt csrutil của bạn ...
theprojectabot

0

Nếu bạn phải chạy trình soạn nhạc với sudo , bạn nên thay đổi thư mục của trình soạn nhạc thành

/usr/bin

điều này đã được thử nghiệm trên Centos8.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.