penanganan tanda npm - CodeArtifact

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

penanganan tanda npm

registri npm mendukung tanda, yang merupakan alias string untuk versi paket. Anda dapat menggunakan tanda untuk memberikan alias, bukan nomor versi. Misalnya, Anda mungkin memiliki proyek dengan beberapa aliran pengembangan dan menggunakan tanda yang berbeda (misalnya, stable, beta, dev, canary) untuk setiap aliran. Untuk informasi selengkapnya, lihat dist-tag di situs web npm.

Secara default, npm menggunakan tanda latest untuk mengidentifikasi versi paket saat ini. npm install pkg (tanpa penentu @version atau @tag) menginstal tanda terbaru. Biasanya, proyek menggunakan tanda terbaru hanya untuk versi rilis stabil. Tanda lain digunakan untuk versi yang tidak stabil atau pra-rilis.

Edit tanda dengan klien npm

Ketiga perintah npm dist-tag (add, rm, dan ls) memiliki fungsi yang serupa dalam repositori CodeArtifact seperti yang mereka lakukan di registri npm default.

Tanda npm dan API CopyPackageVersions

Ketika Anda menggunakan API CopyPackageVersions untuk menyalin versi paket npm, semua tanda alias versi tersebut disalin ke repositori tujuan. Ketika versi yang sedang disalin memiliki tanda yang juga ada di tujuan, operasi penyalinan menetapkan nilai tanda di repositori tujuan untuk mencocokkan nilai di repositori sumber.

Sebagai contoh, anggap repositori S dan repositori D berisi satu versi paket web-helper dengan set tanda terbaru seperti yang ditunjukkan dalam tabel ini.

Repositori Nama paket Tanda paket

D

web-helper

terbaru (alias untuk versi 1.0.1)

D

web-helper

terbaru (alias untuk versi 1.0.0)

CopyPackageVersions dipanggil untuk menyalin web-helper 1.0.1 dari S ke D. Setelah operasi selesai, tanda latest pada web-helper dalam repositori alias D adalah 1.0.1, bukan 1.0.0.

Jika Anda perlu mengubah tanda setelah menyalin, gunakan perintah npm dist-tag untuk mengubah tanda secara langsung di repositori tujuan. Untuk informasi selengkapnya tentang API CopyPackageVersions, lihat Copying Packages Between Repositories.

tanda npm dan repositori hulu

Saat npm meminta tanda untuk paket dan versi paket yang juga ada di repositori hulu, CodeArtifact menggabungkan tanda sebelum mengembalikannya ke klien. Misalnya, repositori bernama R memiliki repositori hulu bernama U. Tabel berikut menunjukkan tanda untuk paket bernama web-helper yang ada di kedua repositori.

Repositori Nama paket Tanda paket

R

web-helper

terbaru (alias untuk versi 1.0.0)

U

web-helper

alfa (alias untuk versi 1.0.1)

Dalam kasus ini, ketika mengambil tanda untuk paket web-helper dari repositori R, klien npm menerima tanda terbaru danalfa. Versi yang ditunjukkan oleh tanda tidak akan berubah.

Ketika tanda yang sama ada pada paket yang sama di repositori hulu dan hilir, CodeArtifact menggunakan tanda yang ada dalam repositori hulu. Misalnya, anggap tanda pada webhelper telah dimodifikasi agar terlihat seperti berikut ini.

Repositori Nama paket Tanda paket

R

web-helper

terbaru (alias untuk versi 1.0.0)

U

web-helper

terbaru (alias untuk versi 1.0.1)

Dalam hal ini, ketika klien npm mengambil tanda untuk paket web-helper dari repositori R, tanda terbaru akan membuat alias versi 1.0.1 karena itulah yang ada di repositori hulu. Hal ini memudahkan penggunaan versi paket baru di repositori hulu yang belum ada di repositori hilir dengan menjalankan npm update.

Menggunakan tanda di repositori hulu dapat menjadi masalah ketika memublikasikan versi baru dari sebuah paket di repositori hilir. Sebagai contoh, anggap bahwa tanda terbaru pada paket web-helper sama di R dan U.

Repositori Nama paket Tanda paket

R

web-helper

terbaru (alias untuk versi 1.0.1)

U

web-helper

terbaru (alias untuk versi 1.0.1)

Saat versi 1.0.2 dipublikasikan ke R, npm memperbaruiterbarutanda untuk 1.0.2.

Repositori Nama paket Tanda paket

R

web-helper

terbaru (alias untuk versi 1.0.2)

U

web-helper

terbaru (alias untuk versi 1.0.1)

Namun, klien npm tidak pernah melihat nilai tanda ini karena nilaiterbarudi U adalah 1.0.1. Menjalankan npm install terhadap repositori R segera setelah publikasi 1.0.2 akan menginstal 1.0.1, bukan versi yang baru saja dipublikasikan. Untuk menginstal versi yang paling baru dipublikasikan, Anda harus menentukan versi paket yang tepat, sebagai berikut.

npm install web-helper@1.0.2