OSX -bash: composer: komut bulunamadı


93

"Composer" yazarsam yukarıdaki hata mesajını alıyorum.

Macbook'umda yaptım:

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

Composer'ı global olarak yüklemek için.

/ Local / bin / composer dizinini manuel olarak oluşturmak zorunda kaldım, bu hataya neden olabilir mi?

php composer.phar

.phar dosyasının olduğu kod dizinimdeysem çalışır.

Sorunu çözmek ve besteciyi global olarak çalıştırmak için ne yapabilirim?

~ / .Profilim

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/composerve eklemek /usr/local/biniçin $PATHde ~/.bash_profile. Bu temel kullanıcı işleri ve buraya ait değil.
Droppy

Profilime tam olarak ne eklemeliyim?
Gönderimi

Yani besteci şimdi de /usr/local/bin/composer/composer.phar?
deceze

Aynı mac os üzerinde sorun burada x 10.11.4 /usr/local/bin& /usr/local/bin/composer$ PATH, hala alma-bash: /usr/local/bin/composer/composer.phar: Permission denied
Pmpr

Yanıtlar:


296

Yol /usr/local/bin/composer, PATH'inizde değil, bu klasördeki çalıştırılabilir dosyalar bulunmayacak.

Klasörü silin ve /usr/local/bin/composerardından çalıştırın

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

Bu, composer.phariçine taşınır /usr/local/bin/ve içine yeniden adlandırılır composer(bu, bir klasör değil, hala bir yürütülebilir dosyadır).

O zaman şu şekilde kullanın:

$ composer ...

2
Belki "$" yazdığınız gerçeği? Bu sadece komut satırı isteminizi belirtmek içindir, ki bu genellikle "$" şeklindedir.
deceze

Ben alıyorum composer: Permission denied testere ile bazı çözümler sudo chmod ama alıyorum sudo: not found (bir Synology (busybox var))
Jeroen van Langen

5
Belki de bu yüzden $cevaplara dahil edilmemelidir. Bize açık görünüyor ama yeni insanlara değil. Ve $insanların terminalden bahsettiğinizi anlamasına ihtiyacınız olmadığı da açıktır .
JGallardo

4
$ '
In

Bu neden bestecinin belgelerinde yok! Ty @deceze
Jonas de Herdt

70

Pek çok şey denedim ama hiçbiri işe yaramadı. Ancak aşağıdaki süreç doğru yaptı, artık composerterminalde komut kullanabilirim . Mac OS 10.12.1 kullanıyorum

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

Parlak! Sadece çözümünüz benim için çalıştı, teşekkürler!
Nilay Dağdemir

30

composer.pharAmazon linux'ta aşağıdaki komutu kullanarak '/ usr / local / bin / composer' konumuna taşıdıktan sonra bile aynı soruna giriyorum .

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

Besteci dosyası için bir takma ad oluşturmak için aşağıdaki komutu kullandım. Yani şimdi küresel olarak çalışıyor.

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

Bunun OS-X'te çalışıp çalışmayacağını bilmiyorum. Ama bu konuyu araştırdığımda bu bağlantıyı alıyorum. Bu yüzden buraya yazıyorum. Umarım bu birine yardımcı olur.


Evet, takma ad oluşturduktan sonra çalıştı. takma ad besteci = '/ usr / local / bin / composer'
Sanjay

Harika makale! Bunun için çok arandım.
lovecoding

23

Besteci web sitesinde talimatlar aracılığıyla yükledikten sonra Mac OSX'te test edilmiştir:

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


8

Composer'ı OS X 10.11 El Capitan'a küresel olarak yükleyin

Bu komut OS X 10.11'de ÇALIŞMAZ:

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

Bunun yerine, kullanıcı için / usr / local / bin yoluna yazalım:

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

Artık composer komutuna daha önce olduğu gibi global olarak erişebiliriz.


2

bu beni bir iki gün harcadı öğreticilerde neden hiç kimse komut bestecisinin gerçekten bağlantı kurmadan kullanılmayacağını söylemiyor gibi ... Demek istediğim, 5 yıllık deneyimli kullanıcılar bu ayrıntıları bilmediğimizde, herkes bir sonraki adımda olduğu gibi besteci komutunu yazıyor.

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

2 gün takılıp kaldıktan sonra ubuntu'da benim için yaptım


0

Mac OS X'te, aşağıdakilere sahip olan herkes için:

-bash: / usr / local / bin / composer: İzin reddedildi

sorun, indirilenleri taşımaya çalışırken composer.phar:

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

nedeni bu:

Sistem Bütünlüğü Koruması

ve çözüm bu:

  1. Kurtarma modunda yeniden başlatın: Mac'inizi yeniden başlatın ve cmd + R tuşlarını basılı tutun .
  2. Kurtarma modu, üstteki çubuk aracılığıyla Yardımcı Programlar> Terminal aracılığıyla başlatıldığında terminali açın .
  3. Yazın csrutil disableve enter tuşuna basın. Aşağıdakileri söyleyen bir mesaj görmelisiniz:

    Sistem Bütünlüğü Koruması kapalıdır.

  4. Bilgisayarı normal şekilde yeniden başlatın ve ardından besteciyi kurun. Onu koymak zorunda kaldım /usr/binve DEĞİL /usr/local/bin çünkü bir sebepten orada işe yaramadı.
  5. Kurtarma moduna geri dönün ve yazarak Sistem Bütünlüğü Koruyucusunu etkinleştirin csrutil enable
  6. Normal açılışta geri gelin ve bestecinin çalışıp çalışmadığını kontrol edin. Benim için yaptı.

Yukarıdaki 6 adım buradan kopyalanır , yani tüm kredi oradaki Vasheer kullanıcısına aittir .


1
Sen ... Sadece csrutil kapanması yerine + x ikili chmod gerekir
theprojectabot

0

Çalıştırmak varsa besteci ile sudo , sen dizini değişmelidir besteci için

/usr/bin

bu Centos8 üzerinde test edilmiştir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.