Composer
Composer PHP kütüphaneleri için bir bağımlılık yöneticisidir. MediaWiki 1.25 ile başlayarak, MediaWiki çekirdeğinin harici kitaplık bağımlılıkları Composer ile yönetilmektedir. Ek olarak, MediaWiki uzantılarının kurulumunu yönetmek için kullanılabilir (MediaWiki 1.22 sürümünden itibaren mevcuttur). Ancak bu şu anda iyi desteklenmiyor. Bu gelecekte değişebilir.
Composer kurma
MediaWiki artık MediaWiki 1.35.2'den itibaren Composer 2.x'i destekliyor! |
Unix/Linux ve macOS'da
Composer'ı kurmanın birden çok yolu vardır, bunun en belirgin yolu sudo apt install composer
oluyor.
MediaWiki 1.31, 1.35.0 ve 1.35.1 tarafından yalnızca Composer 1.x desteklenir. En son 1.x kararlı sürümü almak için:
wget -cO - https://getcomposer.org/composer-1.phar > composer.phar
Composer 2.x ve Composer 1.x, MediaWiki >= 1.35.2 tarafından desteklenir (REL1_36 dalı ve master ile birlikte). En son Composer 2.x kararlı sürümünü almak için:
wget -cO - https://getcomposer.org/composer-2.phar > composer.phar
OS X kullanıcıları için Composer'ı kurmak için Homebrew kullanabilirsiniz.
Bunun Composer 2.x sürümünü yükleyeceğini unutmayın, bu nedenle kullandığınız MediaWiki sürümüne bağlı olarak, Composer 1.x'i indirmek yerine yukarıdaki wget
talimatları izlemeniz gerekebilir. brew
kullanarak kurmak için:
brew install composer
Bu işe yaramazsa veya Homebrew yüklü değilse deneyebilirsiniz:
php -r "readfile('https://getcomposer.org/installer');" | php
Toolforge ve uzatma distribütörü "integration/composer" git repo'da yer alan Composer'ın kopyasını kullanıyor.
Composer kurulduktan sonra, indirilen phar üzerinden komutları çalıştırabilirsiniz:
php composer.phar someCommand
Phar'ı normal bir yürütülebilir dosya olarak kullanılabilmesi için yolunuza taşımak isteyebilirsiniz:
mv composer.phar /usr/local/bin/composer
composer someCommand
Mv komutu izinler nedeniyle başarısız olursa, sudo ile tekrar çalıştırın.
sudo mv composer.phar /usr/local/bin/composer
composer someCommand
Windows'da
Yükleyiciyi indirme sayfasından indirip çalıştırın. Manüel yüklemeyi tercih ederseniz, Windows'un varsayılan olarak wget (veya APT veya Homebrew) olmaması ve /usr/local/bin dizini olmaması dışında yukarıdaki adımları uygulayabilirsiniz. Bu durumlarda, web tarayıcınıza composer-1.phar ile indirebilir ve ardından onu "composer.phar" olarak yeniden adlandırabilirsiniz.
Local installation
You're not out of luck if you don't have permissions to run Composer on the server. It is also possible to download the MediaWiki folder to your local machine, install and run Composer, and transfer the files back to the server.
Composer yükseltme
Composer 1.x
Composer'ı en son 1.x kararlı sürümüne yükseltmek (veya 2.x kararlı sürümden düşürmek) istiyorsanız, şunları kullanabilirsiniz:
composer self-update --1
Güncelleme komutu izinler nedeniyle başarısız olursa, sudo ile tekrar çalıştırın.
sudo composer self-update --1
Composer'ın gerçekten eski bir sürümündeyseniz, --1
parametresine sahip olmayabilir. Bu durumda, self-update
iki kez çalıştırmak isteyebilirsiniz. İlki 2.x'e güncelleyebilir, bu nedenle ikincisi onu 1.x'in en son sürümüne indirir.
composer self-update
composer self-update --1
Composer 2.x
Composer 1.x kullanıyorsanız ve Composer 2.x'e yükseltmek istiyorsanız (ve >= 1.35.2 gibi uygun bir MediaWiki sürümü kullanıyorsanız), şunları kullanabilirsiniz:
composer self-update --2
Güncelleme komutu izinler nedeniyle başarısız olursa, "sudo" ile tekrar çalıştırın.
sudo composer self-update --2
MediaWiki çekirdeğinde kullanım
MediaWiki 1.25+, Composer ile yönetilen bazı harici kütüphanelere bağlıdır.
Composer, vendor/autoload.php
altında WebStart.php
tarafından eklenen bir otomatik yükleyici oluşturur.
Composer tarafından yönetilen bağımlılıklar, MediaWiki ve uzantılarının tarball dağıtımlarında toplanır, böylece sistem hizmetlilerin Composer'ı doğrudan kullanması gerekmez.
Git kullanılarak MediaWiki kurulması, $IP/composer.json
içinde bildirilen bağımlılıklar composer update --no-dev
çalıştırarak yerel olarak kurulabilir veya mediawiki/vendor.git
deposu, Wikimedia üretim kümesinde kullanılan kitaplıkları sağlamak için klonlanabilir.
composer-merge-plugin kullanma
MediaWiki çekirdeği $IP/composer.json
"sahiptir" ve hem tarball hem de Git yönetilen güncellemelerde bu dosyanın içeriğini değiştirir.
Yerel yüklemelerin isteğe bağlı kitaplıkları ve/veya Composer ile uzantıları yönetme yüklemek için Composer'ı kullanmasına izin vermek için, composer-merge-plugin adlı Composer için özel bir eklenti geliştirildi.[1]
Bu eklenti ve MediaWiki çekirdek composer.json
yapılandırması, yerel dağıtımın kök MediaWiki dizini içindeki composer.local.json
dosyasına gerekli uzantıları ve kitaplıkları eklemesine izin verir.
composer.local.json
, Composer kullanılarak yüklenmeyen uzantıların ihtiyaç duyduğu Composer yönetilen kitaplıklarını yüklemek için de kullanılabilir.
Bu yalnızca uzantılar Uzantı Distribütörü tarafından oluşturulan tarball'lardan yüklenmediğinde gereklidir.
Composer'ın yerel olarak yüklenmiş uzantılarınızın herhangi birinde ve tümünde bulunabilecek composer.json
dosyalarını bulmasını ve işlemesini sağlamak için $IP/composer.local.json
şu gibi bir şey ekleyin:
{
"extra": {
"merge-plugin": {
"include": [
"extensions/*/composer.json",
"skins/*/composer.json"
]
}
}
}
composer.local.json
herhangi bir değişiklikten sonra, Composer'ın bağımlılıkları yeniden hesaplaması ve değişikliklerin etkili olması için composer update
tekrar çalıştırmadan önce $2 kaldırmanız gerekir.
Kaynaklar
- Composer aracılığıyla uzantılar nasıl yüklenir
- MediaWiki çekirdeğine veya uzantılarına harici kitaplıklar nasıl eklenir
- Composer.json oluştururken en iyi uygulamalar
- Packagist.org'a paket ekleme hakkında bilgi
- w:Composer (software)