2014-04-15 15 views
13

Composer'ın minimum stabilite ayarıyla nasıl çalıştığını anlamıyorum.Paket, minimum kararlılık ayarınıza göre yeterli bir sürümde mevcut değildir

İki paketim var. Diyelim ki PackageA ve PackageB.

PackageA ait composer.json dosya şuna benzer:

{ 
    "name": "vendor/packagea", 
    "minimum-stability": "dev", 
    "require": { 
     "vendor/packageb": "dev" 
    } 
} 

Yani PackageA PackageB gerektirir. PackageB ait json şuna benzer:
{ 
    "name": "vendor/packageb", 
    "minimum-stability": "dev" 
} 

Yani hem asgari kararlılık dev olduğunu söylüyor.

composer create-project vendor/packagea 

Ama sonra mesajla şikayet: Ben de ne zaman farz ben dev asgari istikrarı ayar paketi çekeceği farz ediyorum, çünkü tuhaf buluyorum

[InvalidArgumentException] 
Could not find package vendor/packagea with stability stable. 

"Gelişim" dalından. Hangi github durumunda her zaman dev-master.

yüzden kullanmak ne şube besteci anlatarak yüklemeyi denedim:

composer create-project vendor/packagea testFolder dev-master 

Ama sonra o PackageB bulamadığını yakınır:

Installing dependencies (including require-dev) 
Your requirements could not be resolved to an installable set of packages. 

    Problem 1 
    - The requested package vendor/packageb dev could not be found. 

Sonra ben mümkün ne kadar paketimi yükle Hala

cevap

13

iki konu var ... Ben packagea ve henüz PackageB için salınımını oluşturmak istemiyorum böylece geliştiriyorum:

yılında komutu aramaya kararlı istikrarı kullanan varsayılan olarak-proje oluşturun Yüklenecek paket, bu nedenle dev-master'i belirtirseniz ancak varsayılan olarak çalışmıyorsa çalışır. Bununla birlikte, composer create-project vendor/packagea -s dev

'u da çalıştırabilirsiniz. Bağımlılıkları yükledikten sonra, paketinizin dev adı verilen bir sürümde mevcut olmadığını tahmin ediyorum, bu yüzden buna ihtiyacınız varsa bunu bulamıyor. Dev-Master gerektiren, muhtemelen aşağıdaki gibi çalışacaktır:

{ 
    "name": "vendor/packagea", 
    "minimum-stability": "dev", 
    "require": { 
     "vendor/packageb": "dev-master" 
    } 
} 
+0

'Need'' 'dev-master' işlevinin değiştirilmesi gerçekten çalışır. Ayrıca 'dev-master' seçeneği ile yüklemeniz gerekir. Ama yine de bana garip geliyor. Benim için bir şey yapmadığı için dev gibi bir şey tamamen işe yaramaz. – Vivendi

+0

Örneğin '@ dev' gerektirenler, dev sürümlerine izin veren geçerli bir sürüm kısıtlaması olabilir, ancak dev, kendi başına var olmayan bir sürüm için tam bir eşleşme yapmaya çalıştığı anlamına gelir. – Seldaek

+0

, besteci 1.0-dev ile çalışmaz. 2015-07-21: 'Geçersiz stabilite sağlandı (= dev) şunlardan biri olmalıdır: kararlı, RC, beta, alfa, dev 'olmalıdır -sdev: ' besteci oluşturma projesi satıcı/packagea -sdev' – dave

0

Bunu nasıl giderdim?

Besteci kurduktan sonra, Besteci Varlık Plugin yüklemek için aşağıdaki komutu çalıştırın:

php composer.phar global require "fxp/composer-asset-plugin:^1.2.0" 

Şimdi yii 2.0 yüklemeye başlamak için uygulama şablonlardan birini seçin. Bir uygulama şablonu, Yii'de yazılmış olan Web uygulamasının bir iskeletini içeren bir pakettir.