Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konsep paket
Berikut adalah beberapa konsep dan istilah yang perlu diketahui saat mengelola, menerbitkan, atau mengkonsumsi paket CodeCatalyst.
Paket
Paket adalah bundel yang mencakup perangkat lunak dan metadata yang diperlukan untuk menginstal perangkat lunak dan menyelesaikan dependensi apa pun. CodeCatalyst mendukung format paket npm.
Paket terdiri dari:
Ruang nama Package
Beberapa format paket mendukung nama paket hierarkis untuk mengatur paket ke dalam grup logis dan untuk membantu menghindari tabrakan nama. Paket yang memiliki nama yang sama dapat disimpan di ruang nama yang berbeda. Misalnya, npm mendukung cakupan, dan paket npm @types/node
memiliki cakupan @types
dan nama. node
Ada banyak nama paket lainnya dalam cakupan @types
. Dalam CodeCatalyst, lingkup (“tipe”) disebut sebagai namespace paket, dan nama (“node”) disebut sebagai nama paket. Untuk paket Maven, namespace paket sesuai dengan groupID Maven. Paket Maven org.apache.logging.log4j:log4j
memiliki groupID (namespace paket) org.apache.logging.log4j
dan artifactID (nama paket) log4j
. Beberapa format paket seperti Python tidak mendukung nama hierarkis dengan konsep yang mirip dengan lingkup npm atau Maven GroupId. Jika Anda tidak memiliki cara untuk mengelompokkan nama paket, akan lebih sulit untuk menghindari tabrakan nama.
Versi Package
Versi paket mengidentifikasi versi spesifik dari sebuah paket, seperti @types/node@12.6.9
. Format nomor versi dan semantik bervariasi untuk format paket yang berbeda. Sebagai contoh, npm paket versi harus sesuai dengan spesifikasi Versioning Semantik
Aset
Aset adalah file individual yang disimpan dalam CodeCatalyst yang terkait dengan versi paket, seperti file npm atau Maven POM atau .tgz
file. JAR
Package repositori
Repositori CodeCatalyst paket berisi satu set paket, yang berisi versi paket, yang masing-masing memetakan ke satu set aset. Package repositories adalah polyglot, artinya repositori tunggal dapat berisi paket dari jenis apa pun yang didukung. Setiap repositori paket mengekspos titik akhir untuk mengambil dan menerbitkan paket menggunakan alat seperti NuGet CLIs (nuget
,dotnet
), Maven () npm
CLI, dan Python (danCLI)mvn
. CLIs pip
twine
Untuk informasi tentang kuota paket CodeCatalyst, termasuk berapa banyak repositori paket yang dapat dibuat di setiap ruang, lihat. Kuota untuk paket
Anda dapat menautkan repositori paket ke repositori lain dengan mengaturnya sebagai upstream. Ketika repositori disetel sebagai upstream, Anda dapat menggunakan paket apa pun dari upstream serta repositori upstream tambahan dalam rantai. Untuk informasi selengkapnya, lihat Repositori hulu.
Gateway repositori adalah jenis khusus dari repositori paket yang menarik dan menyimpan paket dari otoritas paket eksternal resmi. Untuk informasi selengkapnya, lihat Repositori gerbang.
Repositori hulu
Anda dapat menggunakan CodeCatalyst untuk membuat hubungan hulu antara dua repositori paket. Repositori paket adalah hulu dari yang lain ketika versi paket yang dikandungnya dapat diakses dari titik akhir repositori paket dari repositori hilir. Dengan hubungan hulu, isi dari dua repositori paket secara efektif digabungkan dari sudut pandang klien.
Misalnya, jika manajer paket meminta versi paket yang tidak ada di repositori, kemudian CodeCatalyst akan mencari repositori upstream yang dikonfigurasi untuk versi paket. Repositori upstream dicari dalam urutan mereka dikonfigurasi, dan setelah paket ditemukan, CodeCatalyst akan berhenti mencari.
Repositori gerbang
Repositori gateway adalah jenis khusus dari repositori paket yang terhubung ke otoritas paket resmi eksternal yang didukung. Saat Anda menambahkan repositori gateway sebagai repositori upstream, Anda dapat menggunakan paket dari otoritas paket resmi yang sesuai. Repositori hilir Anda tidak berkomunikasi dengan repositori publik, sebaliknya, semuanya dimediasi oleh repositori gateway. Paket yang dikonsumsi dengan cara ini disimpan di repositori gateway dan repositori hilir yang menerima permintaan asli.
Repositori gateway sudah ditentukan sebelumnya, tetapi harus dibuat di setiap proyek yang akan digunakan. Daftar berikut berisi setiap repositori gateway yang dapat dibuat CodeCatalyst dan otoritas paket yang terhubung dengannya.
-
npm-public-registry-gatewaymenyediakan paket npm dari npmjs.com.
-
maven-central-gatewaymenyediakan paket Maven dari repositori Maven Central.
-
google-android-gatewaymenyediakan paket Maven dari Google Android.
-
commonsware-gateway menyediakan paket Maven dari. CommonsWare
-
gradle-plugins-gatewaymenyediakan paket Maven dari Plugin Gradle.
-
nuget-gallery-gatewaymenyediakan NuGet paket dari NuGet Galeri.
-
pypi-gateway menyediakan paket Python dari Indeks Paket Python.