Composer çalıştırıldığında: “Giriş dosyası açılamadı: composer.phar”


213

Symfony2 ve symblog okuma konusunda yeniyim . Üçüncü bölümde veri armatürleriyle çalışırken şu komutu denedim:

php composer.phar update

ama hatayı aldım:

Could not open input file: composer.phar

Bu yüzden biraz googled ve denedim

php composer.phar install

ama yine de aynı hatayı alıyorum. Bu nedenle, wm kullanarak symfony2'deki veri armatürleri gibi yeni uzantıları veya paketleri kurmak için lütfen bu besteciyle nasıl başa çıkılacağını yönlendirin.


composer.phar'ı doğru yere mi yüklediniz?
hizbul25

Bu sorunu besteciyi global olarak kurmaya çalışırken yaşadım. Ben ekleyerek sona erdi alias composer="php C:\\\\Users\\\\MyUsername\\\\bin\\\\composer.phar"benim için Bashrc dosyası. Çirkin, ama çalıştı.
Batandwa

14
Windows kullanıcısı için Çözüm @Jamil tarafından altındaysa, kullanıcı zorunda besteci ziyade php composer.phar
Carlos487

Daha önce besteci yüklediyseniz .phar'a ihtiyacınız yoktur sadece besteci güncellemesini çalıştırın
meddy

Yanıtlar:


279

Bunun gibi talimatları izlediyseniz:

https://getcomposer.org/doc/00-intro.md

Aşağıdakileri yapmanızı sağlar:

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

Daha sonra, benim gibi, bu komutları çalıştırdınız ve sayfanın bir sonraki bölümünü composer.phar'a tam adıyla başvurmayı bırakmanızı ve yürütülebilir olarak kısaltmanızı (mv ile yeniden adlandırdığınız) komutu). Yani bu:

$ php composer.phar update friendsofsymfony/elastica-bundle

Bu olur:

$ composer update friendsofsymfony/elastica-bundle

37
Hatırlamanız gereken şey, doğru bir şekilde (Windows'ta) yüklediyseniz ve ortamınızın PATH değişkenine eklediyseniz, php composer.phar yazmanız ve bunun yerine composer kullanmanız gerekmemesidir.
AturSams

@Chris Moschini Bana yardım edebileceğini düşünüyor. Şuna bakın: stackoverflow.com/questions/52091827/…
Başarı Adam

her projede besteci kurmamız gerekiyor mu, besteciyi yükleyicisini kullanarak kurdum
Sushant Bhargav

151

Windows'ta da aynı sorunu yaşadım ve farklı bir çözüm kullandım. Besteci web sitesi tarafından sağlanan Composer_Setup.exe kurulum dosyasını kullandım ve global bir kurulum yapıyor.

Yükledikten sonra PATH değişkeninizin composer.phar dosyasının depolandığı dizini gösterdiğinden emin olun. Bu genellikle C:\ProgramData\ComposerSetup\bin( ProgramData gizli bir dizin olabilir ). Söylemeye gerek yok, ama aynı zamanda PHP yürütülebilir de PATH değişkeninizde olduğundan emin olun.

Daha sonra sadece

composer install

onun yerine

php composer.phar install

6
Bu nihayet işe yarıyor, neden bu bilgiyi besteci web sitesinde hiçbir yerde bulamadığımı anlamıyorum.
Henning Fischer

4
Teşekkür ederim! Yani Besteci dokümanlarında "temel kullanım" bölümünde belirtilmeyen .. getcomposer.org/doc/01-basic-usage.md#installing-dependencies
Nick Rolando

Bu yanıttan bu yana iki yıl geçti ve dokümanlar hala güncellenmedi, bu yüzden aynı problemi yaşadım. Teşekkürler!
Andy Mercer

105

Arka fon

Composer'ı kurmanın (ve kullanmanın) iki yolu olduğunu bilmek yararlıdır: proje dizininizde yerel olarak veya genel olarak sistem genelinde yürütülebilir dosya olarak.

Composer'ı yerel olarak yüklemek , proje dizininize bir dosya ( composer.phar- PHP Arşivi olan ) indirdiğiniz anlamına gelir . Composer gerektiren her proje için indirmeniz gerekecek.

Komut satırında yürütmek istediğiniz normal bir PHP dosyası gibi, bunu PHP ile çalıştırmanız gerekir:

php composer.phar update

Hangi temelde söyler phpdosyasını çalıştırmak için yürütülebilir composer.pharile updateolarak argüman.

Ancak, global olarak yüklerseniz , bestecinin kendisini yürütülebilir hale getirebilirsiniz, böylece php olmadan da çağırabilirsiniz (ve her proje için indirmeniz gerekmez). Başka bir deyişle, besteci aşağıdaki gibi kullanabilirsiniz:

composer update

Yürüttüğünüzden php composer.phar updateve hatayı Could not open input file: composer.pharaldığınızdan, muhtemelen composer.phargeçerli dizininizde yok.

Çözüm

Composer'ı global olarak yüklediyseniz, composer updatebunun yerine çalıştırın php composer.phar update.

Henüz Composer yüklü değilse, aşağıdaki komutu kullanarak PHAR'ı indirin:

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

Bu yükleyiciyi indirecek ve kullanarak çalıştıracaktır php. Yükleyici gerçek Composer PHAR'ı geçerli çalışma dizininize indirecek ve yürütülebilir hale getirecektir.

Composer'ı global olarak yüklemek için (bunu öneririm), dosyayı içindeki bir yere kopyalayın PATH. Tam konum işletim sistemi ve kuruluma göre değişir, daha fazla bilgi için bkz. Https://getcomposer.org/doc/00-intro.md#globally .

Şahsen, Composer'ı ana dizinime yüklemeyi tercih ediyorum, bu yüzden yürütülebilir dosyayı sudoyüklememize veya güncellememe gerek yok composer(bu bir güvenlik riski olabilir). Linux'ta olduğum için aşağıdaki komutu kullanıyorum:

mv composer.phar ~/.local/bin/composer

1
Keşke bu cevabı bir kereden fazla güncelleyebilseydim. Soruyu cevaplamanın yanı sıra, Composer'ın yerel ve küresel kurulumu arasındaki fark sorununu da netleştirir. Bunun için teşekkür ederim.
NaijaProgrammer

49

Sayfada başka biri bu kadar düşük geldiyse ve hala (benim yaptığım gibi) çalışan bir cevap bulamadıysanız, bunu kullanın:

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer.phar
$ alias composer='/usr/local/bin/composer.phar'
$ composer --version

et voila! Çalışan bir besteci :-)


Teşekkürler Ajan Smulders. ;)
Steven Ventimiglia

Benim için çalıştı, ama düzgün çalışması için bir satır değiştirmek zorunda kaldım $ alias composer = '/ usr / local / bin / composer'
Steph Moreau

Mac OS X'imde, .bash_profile'ma takma ad komutu eklendi. Bu, takma adı yeni terminal oturumları için kalıcı hale getirecektir.
noctufaber

1
İkinci satır çalışmıyor mv composer.phar /usr/local/bin/composer.phar. Bir hata alıyorum: mv: regular File '/usr/local/bin/composer.phar'yüklenemedi: eksik haklar.
Peter

12

Curl yüklü olmadığından bunun işe yaradığını gördüm. XAMPP yüklü Windows 8'de. Repo önlemek için .gitignore kullandığınız yerel yapı ekleyecek

php -r "readfile('https://getcomposer.org/installer');" | php

Buradan anladım: https://getcomposer.org/download/


12

Bu sorunu çözmek için yapmanız gereken ilk şey bestecinin son sürümünü almaktır:

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

Composer.phar dosyasını global bir “bin” dizinine taşımanızı öneririm, benim durumumda (OS X) yol:

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

daha kolay erişim için bir diğer ad dosyası oluşturmanız gerekir

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

Her şey yolundaysa, şimdi Composer sürümümüzü doğrulama zamanı:

composer --version

Besteciyi tekrar harika yapalım.


10

Bu benim için çalıştı:

composer install

olmadan

php composer install

uzatma olmadan bile? Ayrıca, lütfen kod satırlarınıza kod olarak biçimlendirilecek şekilde 4 boşluk ekleyin
YakovL

4

Dün Yii2 çerçevesini Windows 10'a yüklemeye çalışıyordum ve bu sorunu çalıştıran aynı sorunum var (giriş dosyası açılamadı: composer.phar):

php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

Sorun composer.phr dosyası geçerli dizinde değil, composer.phr gibi tam yol vermeniz gerekiyor

php C:\ProgramData\Composer\bin\composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

Veya bu komutu kullanarak yii2 projesi oluşturabilirsiniz:

 composer create-project yiisoft/yii2-app-advanced advanced 2.0.9

Veya

composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9


3

Aynı sorunu yaşadım. Besteciyi dünya çapında kullanılabilir hale getirdiğimde çözüldü. Şimdi komutları klasördeki herhangi bir yerden ayarlayabiliyorum.

composer update

composer require "samplelibraryyouwant"


3
Bu soruya bir cevap sağlamaz. Bir yazardan eleştiri veya açıklama istemek için gönderilerinin altına bir yorum bırakın.
Bas van Stein

@BasvanStein Cevaplamak için bir girişim gibi görünüyor. Bu cevabın yanlış olduğunu düşünüyorsanız, cevabınızı aşağıya indirebilirsiniz.
Artjom B.

2

Kolay cevap, zaten çalıştırmak istediğiniz composer.json dosyasına (ideal olarak proje klasörünüz) sahip olduğunuz dizine gidin, ardından composer'ı aynı klasöre indirin, ardından şu şekilde install komutunu çalıştırın:

 php composer.phar install

Bu işlem otomatik olarak composer.json dosyasını bulur ve gerekli komut dosyalarınızı çalıştırır. İyi şanslar. Bu şey terminal sihirbazları için bir esinti ve geri kalanımız için tamamen tuhaf


2

Windows 8.0 kullanıyorum. Benim durumumda yüklemek veya güncellemek için sadece besteci yükleme veya php composer.phar yerine başka bir şey kullanın. Bu benim için çalıştı

composer require google/apiclient:1.*

2

Merhaba arkadaşlar, MAC OS'de bu sorunu gidermek için adımları izleyin

  • Adım 1: İlk önce Terminal'de komutu proje dizininizle çalıştırın

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

  • Adım 2: composer.phar dosyasını proje dizininize taşıyın

    $ mv composer.phar /Applications/MAMP/htdocs/bashrushAPI/composer.phar

  • 3. Adım: Bestecinin takma adını ayarlayın

    $ alias composer = '/ Uygulamalar / MAMP / htdocs / bashrushAPI / composer.phar'

  • 4. Adım: Besteci sürümünü şimdi kontrol edin

    $ composer --version

    Composer version 1.7.2 2018-08-16 16:57:12

  • Adım 5: Körüğe yerleştirilen proje klasörlerini ve dosyayı onaylayın

    $ ls

    CONTRIBUTING.md docker-compose.yml templates README.md logs tests composer.json phpunit.xml vendor composer.lock public composer.phar src

  • 6. Adım: Şimdi besteciyi güncelleyin

    $ composer.phar güncellemesi

    Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Generating autoload files

  • Adım 7: Örnek projenizi çalıştırın

    $ php composer.phar başlangıç

    php -S localhost:8080 -t public [Thu Sep 27 03:16:11 2018] ::1:51177 [200]: / [Thu Sep 27 03:16:11 2018] ::1:51178 [404]: /favicon.ico - No such file or directory


1

resim açıklamasını buraya girin

composer.phar dosyanız yukarıdaki şekilde yerleştirilmelidir.


Windows8 kullanıyorum ve getcomposer.org/download adresinde olduğu gibi bestecinin exe'sini yüklüyorum . Sonra composer.phar dosyasını gösterdiğiniz yapıya göre projeme kopyaladım. composer.json ve composer.lock dosyaları varsayılan symfony paket indirmesi olduğu için zaten vardı. Besteci udpate komutunu çalıştırdığımda bunu yaptıktan sonra, yaklaşık yarım saat sürdü, ancak henüz tamamlanmadı. Sorun nedir? Lütfen önerin. Şimdiden teşekkürler!
user3291745

tamam, komut için cmd kullanıyor musunuz? bu nedenle dizini doğru şekilde değiştirmeniz gerekir. Dizin yapınızı ekran görüntüsü ile sağlayın.
hizbul25

Stackoverflow görüntü yüklememe izin vermiyor çünkü ben sadece yeni doğan kullanıcı daha az puan veya itibar ile. C: \ wamp \ www \ Symfony \ dizininde besteci güncelleme komutunu çalıştırıyorum ve bu dizinde composer.phar, composer.json, composer.lock klasörleri app, bin, vendor, src ve web'i görebiliyorum.
user3291745

C: cd wamp \ www \ Symfony
hizbul25

Bu bağlamda geliştirici her zaman php / python / ruby ​​için linux önerir. :)
hizbul25

1

Windows için composer.cmd yaptım ve aşağıdaki metni kullandım:

php c:\programs\php\composer.phar %*

Burada composer.phar yüklenir ve yoluma c: \ program \ php \ eklenir.

Bunun neden otomatik olarak yapılmadığından emin değilim.


1

Windows10 Pro için, Aşağıdaki adımlar sorunu giderir. özellikleri seç Program engelini kaldır seçeneğini işaretleyin. yükleyiciyi çalıştırın, CMD komutunu Yönetici haklarıyla çalıştırın. Komut isteminde composer --version, genel olarak yüklendiğinden emin olmak için çalıştırın . Şimdi çalıştırabilmelisiniz. composer require drush/drushBu besteci kullanarak acele bağımlılığı içindir.


1

Cmd'yi Yönetici olarak açın ve proje klasörünüze gidin ve besteci komutunu kullanarak çalışıp çalışmadığını kontrol edin.

Yukarıdaki hata, bestecinin global olarak erişilememesinden kaynaklanmaktadır. Bu yüzden "cmd" yi Yönetici olarak çalıştırmanız gerekir.

Bu benim için iyi çalışıyor.


1

Komut satırında aşağıdakileri çalıştırın:
curl -sS https://getcomposer.org/installer | php


0

Kişisel composer.phar Kaynak dosyalarında olmalıdır. Aynı problemim vardı ve bestecimi.phar'ı benim güçlü metin projem olan mine framework-standard-edition klasörüne kestim .


0

besteci zaten yüklüyse, ihtiyacınız olan tek şey composer.phar dosyasının (dizini) nerede olduğunu bilmektir, bundan sonra composer.json'a sahip olduğunuz symfony projenize geçersiniz ve bu dizinden composer.phar dosyanızı yürütürsünüz. Pencerelerde burada yapmanız gerekenler var.

symfony project directory_where_composer.json_is>php the_directory_where_composer.phar_is/composer update 

Bu kadar




0

Http://getcomposer.org/download sayfasından bir Window 7 makinesine besteci yüklemeye çalışırken bu soruna ulaştım . Mevcut bir oluşturma sürümü olduğundan (acquia Dev Desktop aracı tarafından sağlanan) yükleme başarısız olur ve tek şans bu sorunu manuel olarak düzeltmekti. (veya Dev Desktop araç oluşturucusunu kaldırmak için).

Her neyse, hata mesajı oldukça basittir (Giriş dosyası açılamadı: composer.phar), daha sonra sisteme dosyanın nerede olduğunu söylemeliyiz.

Composer.bat dosyasını düzenleyin ve şöyle görünmelidir:

@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;%PATH%
php.exe composer.phar %*

Composer.phar dosyasının bir dosya yolu olmadığına bakın. Composer.phar dosyasının bulunduğu klasörden farklı bir klasörde durduğunuzda sistem onu ​​bulamaz. Yani, sadece composer.phar dosya yolunu tamamlayın:

@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;;%PATH%
SET composerScript=composer.phar
php.exe "%~dp0%composerScript%" %*

Pencere konsolunuzu yeniden açın ve bu da işe yarayacaktır.

EDIT: her zaman% ~ dp0% composerScript% klasörünü besteci yürütme olarak kullandığından bir sorun vardır. Ardından tüm yapılandırmalar proje klasörünüzde değil, o klasörde (geçerli proje klasörünüzde durmanın yanı sıra) yapılır.

Şimdiye kadar Windows'ta küresel olarak çalışmak için manuel bir besteci kurulumu yapmak için bir şey bulamadım. Belki de yukarıda belirtilen Windows kurulumu için besteci ile devam etmelisiniz.


0

Besteciye composer composer tarafından erişmeyin.

besteci yüklemesini kullan


0

Composer'ı zaten yüklediyseniz bu komutu deneyebilirsiniz:

composer update 

veya bestecinize bir paket eklemek istiyorsanız şunu deneyin:

composer require "/../"

0

php olmadan yalnız besteci kullan

sevmek :

composer create-project --prefer-dist --stability=dev developeruz/yii-vue-app basic

0

Aynı sorunu aşağıdaki adımlarla çözdüm

  1. Proje dizinini Terminal'i kullanarak açın ( örneğin, mintty kullanıyorsunuz )
  2. Şimdi https://getcomposer.org/download/ adresinde verilen talimatlara göre besteciyi bu dizine yükleyin

php -r "kopyala (' https://getcomposer.org/installer ', 'composer-setup.php');"

php -r "if (hash_file ('SHA384', 'composer-setup.php') === 'sağlanan karma kodu') {echo 'Installer verified';} else {echo 'Installer bozuk'; bağlantı kaldır ('composer-setup.php');} echo PHP_EOL; "

php composer-setup.php php -r "unlink ('composer-setup.php');"

  1. Şimdi komutunu çalıştır.

Şimdi her şey iyi çalışıyor çünkü composer.pharDosya şu anki proje dizininde mevcut .

Teşekkürler


0

Benimle sadece dosyaya composer.pharve composer.jsonmevcut projeye ihtiyacınız var. Komut

php composer.phar update 

0

Şu şekilde komut verin:

composer.phar require intervention/image

hata: composer.phar: komut bulunamadı

Bu işlemi takip ederek sorunu çözdüm

besteci küresel olarak ayarlayın ve daha sonra bu komutu çalıştırmak composer.phariçin yeniden adlandırıldı . ve şimdi iyi çalışıyorcomposercomposer require intervention/image


0

Cevabımın katıştırılmış bir QNAP sunucusu için çok özel olduğunu biliyorum, ancak burada Yii'yi yüklemeye çalışırken sona erdi:

Benim için, bir QNAP NAS içinde PuTTY aracılığıyla, yukarıdaki tüm hileleri denedikten ve PATH'ı boşuna güncelledikten sonra, çalışan tek cmd hattı şöyledir:

 /mnt/ext/opt/apache/bin/php /usr/local/bin/composer create-project yiisoft/yii2-app-basic basic

Elbette, yolunuzu buna göre uyarlayın ...

Bir yaparsam which composer, doğru bir cevabım var, ama which phphiçbir şey yapmazsam geri döner.

Bunun yanında koşmaya çalışmak

/mnt/ext/opt/apache/bin/php composer create-project yiisoft/yii2-app-basic basic

veya atıfta bulunmak

composer.phar

çok da çalışmadı ...

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.