2016-02-08 21 views
5

Yerel makinemde, php v7.0.3 var. Bir projemin php v5.5'e bağımlılığı var. beklendiği gibiBesteci çalıştırırken her zaman gözardı platform reqs bayrağını nasıl kullanırız?

Yani, composer install çöker basit çalıştırma:

Your requirements could not be resolved to an installable set of packages. 

    Problem 1 
    - This package requires php ~5.5 but your PHP version (7.0.3) does not satisfy that requirement. 

ben üzerinden bir platform yok sayabilirsiniz biliyorum:

composer install --ignore-platform-reqs 

henüz Sık sık bayrağı eklemeyi unutmayın. Ancak uygulama bir docker konteynerinin içinde çalıştığı için, uyumsuz bir php bağımlılıkları iyi bir şekilde kurabilir.

Bu yüzden, yazmak zorunda kalmamak için yerel bestecimin her zaman --ignore-platform-reqs almasını sağlamanın bir yolu olup olmadığını merak ediyorum.

Takma ad ayarlamaktan ve besteci yapılandırma düzeyinde çalışmasını önlemek istiyorum. Platform gereksinimlerini göz ardı etmek yerine, fake php version numaralı telefona önerilmesi önerilir.

cevap

6

senin ~/.composer/config.json için

"platform":{"php":"5.5"} 

ekle veya düzenlemek için composer config -g -e kullanın.

sahte php sürümüne yeterli yapılandırma örneği:

{ 
    "config": { 
     "platform":{ 
      "php":"5.5" 
     } 
    } 
} 

olsa çok daha fazla seçeneğe sahip olabilir.

+0

Tam bir "config.json" örneği verebilir misiniz? Benim için yapılandırma şu anda yok sayılıyor. – k0pernikus

+0

hmm, sadece ubuntu üzerinde test etti. 'besteci gösterisi - platform' onaylar * Paket config.platform üzerinden geçersiz kılınmış (fiili: ... *, ve 3.2 php gibi, php> = 5.2 sürümü için php> = 5.2 php php> = 5.2 PHP php 3.2) yapmaz .... * –

+0

Sadece php '~ 5.5' ve' 5.4'lerde bir gereksinim olduğunu anladım, bu yüzden ikisi arasında seçim yaparken bir çıkmazda olduğumu tahmin ediyorum. ilginçtir 'besteci yapılandırması' - 'composer.json' dosyasını composer'ın 'config.json' yerine projenin 'open.json' dosyasını açın. – k0pernikus

3

alias composer="composer --ignore-platform-reqs" ürününü .bash_profile cihazına ekleyebilirsiniz, ancak bu seçeneği (örn. composer outdated) tanımıyor olan komutlar bozulur. Şahsen

Ben:

alias composer="composer --ignore-platform-reqs" 
alias composer_orig="/usr/local/bin/composer" 

Ben --ignore-platform-reqs istiyorum, ama çoğu zaman hala ben

[Symfony \ Component \ Konsol \ İstisna \ RuntimeException bakın her zaman composer_orig kullanabildiği için ]

"--ignore-platform-reqs" seçeneği mevcut değil.