

Amazon CodeCatalyst tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Lihat informasi yang lebih lengkap di [Cara bermigrasi dari CodeCatalyst](migration.md).

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

# Menggunakan npm
<a name="packages-npm"></a>

Topik-topik ini menjelaskan bagaimana Anda dapat menggunakan`npm`, manajer paket Node.js, dengan CodeCatalyst.

**catatan**  
CodeCatalyst mendukung `node v4.9.1` dan kemudian `npm v5.0.0` dan kemudian.

**Topics**
+ [Mengkonfigurasi dan menggunakan npm](packages-npm-use.md)
+ [penanganan tanda npm](packages-npm-tags.md)

# Mengkonfigurasi dan menggunakan npm
<a name="packages-npm-use"></a>

Untuk menggunakannya `npm` CodeCatalyst, Anda harus terhubung `npm` ke repositori paket Anda dan menyediakan token akses pribadi (PAT) untuk otentikasi. Anda dapat melihat instruksi untuk menghubungkan `npm` ke repositori paket Anda di konsol. CodeCatalyst 

**Contents**
+ [Mengkonfigurasi npm dengan CodeCatalyst](#npm-configure)
+ [Menginstal paket npm dari repositori CodeCatalyst paket](#npm-install)
+ [Menginstal paket npm dari npmjs melalui CodeCatalyst](#npm-install-npmjs)
+ [Menerbitkan paket npm ke repositori CodeCatalyst paket Anda](#npm-publish)
+ [dukungan perintah npm](#npm-commands)
  + [Perintah yang didukung yang berinteraksi dengan repositori paket](#supported-commands-that-interact-with-a-repository)
  + [Perintah sisi klien yang didukung](#supported-client-side-commands)
  + [Perintah tidak didukung](#unsupported-commands)

## Mengkonfigurasi npm dengan CodeCatalyst
<a name="npm-configure"></a>

Petunjuk berikut menjelaskan cara mengautentikasi dan menghubungkan `npm` ke repositori CodeCatalyst paket Anda. Untuk informasi selengkapnya tentang npm, lihat dokumentasi [resmi npm](https://docs.npmjs.com/).

**Untuk terhubung `npm` ke repositori CodeCatalyst paket Anda**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Arahkan ke proyek Anda.

1. Di panel navigasi, pilih **Paket**.

1. Pilih repositori paket Anda dari daftar.

1. Pilih **Connect to repository**.

1. Dalam **detail Konfigurasi**, di **klien Package manager**, pilih **klien npm**.

1. Pilih sistem operasi Anda untuk melihat langkah-langkah konfigurasi yang sesuai.

1. Token akses pribadi (PAT) diperlukan untuk mengautentikasi npm dengan. CodeCatalyst Jika Anda sudah memiliki token, Anda dapat menggunakannya. Jika tidak, Anda dapat membuatnya menggunakan langkah-langkah berikut.

   1. **(Opsional):** Perbarui **nama PAT** dan **Tanggal kedaluwarsa**.

   1. Pilih **Buat token**.

   1. Salin dan simpan PAT Anda di lokasi yang aman.
**Awas**  
Anda tidak akan dapat melihat atau menyalin PAT Anda lagi setelah Anda menutup kotak dialog. Kredensil harus berumur pendek untuk meminimalkan lamanya waktu penyerang dapat menggunakan kredensil setelah menyalahgunakannya.

1. Jalankan perintah berikut dari direktori root proyek Anda untuk mengonfigurasi npm dengan repositori paket Anda. Perintah akan melakukan hal berikut:
   + Buat `.npmrc` file tingkat proyek jika proyek Anda tidak memilikinya.
   + Tambahkan informasi titik akhir repositori paket ke file tingkat proyek Anda. `.npmrc`
   + Tambahkan kredensyal Anda (PAT) ke file tingkat pengguna `.npmrc` Anda.

   Ganti nilai-nilai berikut.
**catatan**  
Jika Anda menyalin dari instruksi konsol, nilai-nilai dalam perintah berikut diperbarui untuk Anda dan tidak perlu diubah.
   + Ganti *username* dengan nama CodeCatalyst pengguna Anda.
   + Ganti *PAT* dengan CodeCatalyst PAT Anda.
   + Ganti *space\$1name* dengan nama CodeCatalyst spasi Anda.
   + Ganti *proj\$1name* dengan nama CodeCatalyst proyek Anda.
   + Ganti *repo\$1name* dengan nama repositori CodeCatalyst paket Anda.

   ```
   npm set registry=https://packages.region.codecatalyst.aws/npm/space-name/proj-name/repo-name/ --location project
   npm set //packages.region.codecatalyst.aws/npm/space-name/proj-name/repo-name/:_authToken=username:PAT
   ```

   **Untuk npm 6 atau lebih rendah:** Untuk membuat npm selalu meneruskan token auth ke CodeCatalyst, bahkan untuk `GET` permintaan, setel variabel konfigurasi always-auth dengan sebagai berikut. `npm config set`

   ```
   npm set //packages.region.codecatalyst.aws/npm/space-name/proj-name/repo-name/:always-auth=true --location project
   ```

## Menginstal paket npm dari repositori CodeCatalyst paket
<a name="npm-install"></a>

Setelah Anda menghubungkan npm ke repositori Anda dengan mengikuti langkah-langkah di[Mengkonfigurasi npm dengan CodeCatalyst](#npm-configure), Anda dapat menjalankan `npm` perintah di repositori Anda.

Anda dapat menginstal paket npm yang ada di repositori CodeCatalyst paket Anda atau salah satu repositori hulu dengan perintah. `npm install`

```
npm install lodash
```

## Menginstal paket npm dari npmjs melalui CodeCatalyst
<a name="npm-install-npmjs"></a>

Anda dapat menginstal paket npm dari [npmjs.com](https://www.npmjs.com/) melalui repositori dengan mengonfigurasi CodeCatalyst repositori dengan koneksi upstream ke repositori gateway yang terhubung ke npmjs.com,. **npm-public-registry-gateway** Paket yang diinstal dari npmjs dicerna dan disimpan di repositori gateway, dan repositori paket hilir terjauh.

**Untuk menginstal paket dari npmjs**

1. Jika Anda belum melakukannya, konfigurasikan `npm` dengan repositori CodeCatalyst paket Anda dengan mengikuti langkah-langkah di. [Mengkonfigurasi npm dengan CodeCatalyst](#npm-configure) 

1. Periksa apakah repositori Anda telah menambahkan repositori gateway, **npm-public-registry-gateway**, sebagai koneksi upstream. Anda dapat memeriksa sumber hulu mana yang ditambahkan atau ditambahkan **npm-public-registry-gateway**sebagai sumber hulu dengan mengikuti instruksi [Menambahkan repositori hulu](packages-upstream-repositories-add.md) dan memilih repositori. **npm-public-registry-gateway**

1. Instal paket dengan `npm install` perintah.

   ```
   npm install package_name
   ```

Untuk informasi selengkapnya tentang meminta paket dari repositori upstream, lihat. [Meminta versi paket dengan repositori hulu](packages-upstream-repositories-request.md)

## Menerbitkan paket npm ke repositori CodeCatalyst paket Anda
<a name="npm-publish"></a>

Setelah selesai[Mengkonfigurasi npm dengan CodeCatalyst](#npm-configure), Anda dapat menjalankan `npm` perintah.

Anda dapat mempublikasikan paket npm ke repositori CodeCatalyst paket dengan perintah. `npm publish`

```
npm publish
```

Untuk selengkapnya tentang cara membuat paket npm, lihat [Membuat Modul Node.js](https://docs.npmjs.com/getting-started/creating-node-modules) di *npm* Docs.

## dukungan perintah npm
<a name="npm-commands"></a>

Bagian berikut merangkum `npm` perintah yang didukung oleh repositori CodeCatalyst paket, selain mencantumkan perintah tertentu yang tidak didukung.

**Topics**
+ [Perintah yang didukung yang berinteraksi dengan repositori paket](#supported-commands-that-interact-with-a-repository)
+ [Perintah sisi klien yang didukung](#supported-client-side-commands)
+ [Perintah tidak didukung](#unsupported-commands)

### Perintah yang didukung yang berinteraksi dengan repositori paket
<a name="supported-commands-that-interact-with-a-repository"></a>

Bagian ini mencantumkan `npm` perintah di mana `npm` klien membuat satu atau lebih permintaan ke registri yang dikonfigurasi (misalnya,`npm config set registry`). Perintah ini telah diverifikasi untuk berfungsi dengan benar ketika dipanggil terhadap repositori CodeCatalyst paket.


****  

| Perintah | Deskripsi | 
| --- | --- | 
|   [bug](https://docs.npmjs.com/cli/bugs)   |  Menebak lokasi URL pelacak bug paket, dan kemudian mencoba membukanya.  | 
|   [ci](https://docs.npmjs.com/cli/ci)   |  Menginstal proyek dari awal.  | 
|   [mencela](https://docs.npmjs.com/cli/deprecate)   |  Menghentikan penggunaan versi paket.  | 
|   [dist-tag](https://docs.npmjs.com/cli/dist-tag)   |  Memodifikasi tanda distribusi paket.  | 
|   [dokumen](https://docs.npmjs.com/cli/docs)   |  Menebak lokasi URL dokumentasi paket, dan kemudian mencoba membukanya dengan menggunakan parameter `--browser` konfigurasi.  | 
|   [dokter](https://docs.npmjs.com/cli/doctor)   |  Menjalankan serangkaian pemeriksaan untuk memvalidasi bahwa instalasi npm Anda dapat mengelola paket Anda JavaScript .  | 
|   [menginstal](https://docs.npmjs.com/cli/install)   |  Menginstal paket.  | 
|   [install-ci-test](https://docs.npmjs.com/cli/install-ci-test)   |  Menginstal proyek dari awal dan menjalankan pengujian. Alias:`npm cit`. Perintah ini menjalankan`npm ci`, diikuti segera oleh`npm test`.  | 
|   [uji instalasi](https://docs.npmjs.com/cli/install-test)   |  Menginstal paket dan menjalankan tes. Menjalankan`npm install`, diikuti segera oleh`npm test`.  | 
|   [ketinggalan zaman](https://docs.npmjs.com/cli/outdated)   |  Memeriksa registri yang dikonfigurasi untuk menentukan apakah ada paket yang diinstal sudah usang.  | 
|   [ping](https://docs.npmjs.com/cli/ping)   |  Ping registri npm yang dikonfigurasi atau diberikan dan memverifikasi autentikasi.  | 
|   [mempublikasikan](https://docs.npmjs.com/cli/publish)   |  Memublikasikan versi paket ke registri.  | 
|   [perbarui](https://docs.npmjs.com/cli/update)   |  Menebak lokasi URL repositori paket, dan kemudian mencoba membukanya dengan menggunakan parameter konfigurasi. `--browser`  | 
|   [melihat](https://docs.npmjs.com/cli/view)   |  Menampilkan metadata paket. Dapat juga digunakan untuk mencetak properti metadata.  | 

### Perintah sisi klien yang didukung
<a name="supported-client-side-commands"></a>

Perintah ini tidak memerlukan interaksi langsung dengan repositori paket, jadi CodeCatalyst tidak memerlukan apa pun untuk mendukungnya.


****  

| Perintah | Deskripsi | 
| --- | --- | 
|   [bin (warisan)](https://docs.npmjs.com/cli/v8/commands/npm-bin)   |  Menampilkan `bin` direktori npm.  | 
|   [membangun](https://docs.npmjs.com/cli/v6/commands/npm-build)   |  Membangun paket.  | 
|   [tembolok](https://docs.npmjs.com/cli/cache)   |  Memanipulasi cache paket.  | 
|   [penyelesaian](https://docs.npmjs.com/cli/completion)   |  Memungkinkan penyelesaian tab di semua perintah npm.  | 
|   [konfigurasi](https://docs.npmjs.com/cli/config)   |  Memperbarui isi pengguna dan file `npmrc` global.  | 
|   [dedupe](https://docs.npmjs.com/cli/dedupe)   |  Mencari pohon paket lokal dan mencoba menyederhanakan struktur dengan memindahkan dependensi lebih jauh ke atas pohon di mana mereka dapat dibagikan secara lebih efektif oleh beberapa paket dependen.  | 
|   [sunting](https://docs.npmjs.com/cli/edit)   |  Mengedit paket yang diinstal. Memilih ketergantungan dalam direktori kerja saat ini dan membuka direktori paket di editor default.  | 
|   [jelajahi](https://docs.npmjs.com/cli/explore)   |  Menelusuri paket yang diinstal. Memunculkan subshell di direktori paket terinstal yang ditentukan. Jika perintah ditentukan, maka itu dijalankan di subshell, yang kemudian segera dimatikan.  | 
|   [membantu](https://docs.npmjs.com/cli/help)   |  Mendapat bantuan mengenai npm.  | 
|   [bantuan-pencarian](https://docs.npmjs.com/cli/help-search)   |  Menelusuri dokumentasi bantuan npm.  | 
|   [init](https://docs.npmjs.com/cli/init)   |  Membuat file `package.json`.  | 
|   [tautan](https://docs.npmjs.com/cli/link)   |  Symlink direktori paket.  | 
|   [ls](https://docs.npmjs.com/cli/ls)   |  Daftar paket yang diinstal.  | 
|   [paket](https://docs.npmjs.com/cli/pack)   |  Membuat tarball dari sebuah paket.  | 
|   [prefix](https://docs.npmjs.com/cli/prefix)   |  Menampilkan awalan. Ini adalah direktori induk terdekat untuk berisi `package.json` file, kecuali juga `-g` ditentukan.  | 
|   [memangkas](https://docs.npmjs.com/cli/prune)   |  Menghapus paket yang tidak tercantum pada daftar dependensi paket induk.  | 
|   [membangun kembali](https://docs.npmjs.com/cli/rebuild)   |  Menjalankan perintah `npm build` pada folder yang cocok.  | 
|   [mulai ulang](https://docs.npmjs.com/cli/restart)   |  Menjalankan skrip stop, restart, dan start paket serta pra-skrip dan post-script terkait.  | 
|   [akar](https://docs.npmjs.com/cli/root)   |  Mencetak `node_modules` direktori efektif ke standar.  | 
|   [run-skrip](https://docs.npmjs.com/cli/run-script)   |  Menjalankan skrip paket arbitrer.  | 
|   [shrinkwrap](https://docs.npmjs.com/cli/shrinkwrap)   |  Mengunci versi dependensi untuk publikasi.  | 
|   [copot pemasangan](https://docs.npmjs.com/cli/uninstall)   |  Meng-uninstall paket.  | 

### Perintah tidak didukung
<a name="unsupported-commands"></a>

`npm`Perintah ini tidak didukung oleh repositori CodeCatalyst paket.


****  

| Perintah | Deskripsi | Catatan | 
| --- | --- | --- | 
|   [akses](https://docs.npmjs.com/cli/access)   |  Menetapkan tingkat akses pada paket yang dipublikasikan.  |  CodeCatalyst menggunakan model izin yang berbeda dari repositori npmjs publik.  | 
|   [adduser](https://docs.npmjs.com/cli/adduser)   |  Menambahkan akun pengguna registri  |  CodeCatalyst menggunakan model pengguna yang berbeda dari repositori npmjs publik.  | 
|   [audit](https://docs.npmjs.com/cli/audit)   |  Menjalankan audit keamanan.  |  CodeCatalyst saat ini tidak menjual data kerentanan keamanan.  | 
|   [kait](https://docs.npmjs.com/cli/v9/commands/npm-hook)   |  Mengelola kait npm, termasuk menambahkan, menghapus, mendaftar, dan memperbarui.  |  CodeCatalyst saat ini tidak mendukung mekanisme pemberitahuan perubahan apa pun.  | 
|   [Login](https://docs.npmjs.com/cli-commands/adduser.html)   |  Mengautentikasi pengguna. Ini adalah nama lain untuk `npm adduser`.   |  CodeCatalyst menggunakan model otentikasi yang berbeda dari repositori npmjs publik. Untuk informasi, lihat [Mengkonfigurasi npm dengan CodeCatalyst](#npm-configure).  | 
|   [logout](https://docs.npmjs.com/cli/logout)   |  Keluar dari registri.  |  CodeCatalyst menggunakan model otentikasi yang berbeda dari repositori npmjs publik. Tidak ada cara untuk keluar dari CodeCatalyst repositori, tetapi token otentikasi kedaluwarsa setelah waktu kedaluwarsa yang dapat dikonfigurasi. Durasi token default adalah 12 jam.   | 
|   [pemilik](https://docs.npmjs.com/cli/owner)   |  Mengelola pemilik paket.  |  CodeCatalyst menggunakan model izin yang berbeda dari repositori npmjs publik.  | 
|   [profil](https://docs.npmjs.com/cli/profile)   |  Mengubah pengaturan pada profil registri Anda.  |  CodeCatalyst menggunakan model pengguna yang berbeda dari repositori npmjs publik.  | 
|   [pencarian](https://docs.npmjs.com/cli/search)   |  Mencari registri untuk paket yang cocok dengan istilah pencarian.  |  CodeCatalyst tidak mendukung `search` perintah.  | 
|   [bintang](https://docs.npmjs.com/cli/star)   |  Menandai paket favorit Anda.  |  CodeCatalyst saat ini tidak mendukung mekanisme favorit apa pun.  | 
|   [bintang](https://docs.npmjs.com/cli/stars)   |  Melihat paket yang ditandai sebagai favorit.  |  CodeCatalyst saat ini tidak mendukung mekanisme favorit apa pun.  | 
|   [tim](https://docs.npmjs.com/cli/team)   |  Mengelola tim dan keanggotaan tim.  |  CodeCatalyst menggunakan model keanggotaan pengguna dan grup yang berbeda dari repositori npmjs publik.  | 
|   [t](https://docs.npmjs.com/cli/token)oken   |  Mengelola token autentikasi Anda.  |  CodeCatalyst menggunakan model yang berbeda untuk mendapatkan token otentikasi. Untuk informasi, lihat [Mengkonfigurasi npm dengan CodeCatalyst](#npm-configure).  | 
|   [batalkan publikasi](https://docs.npmjs.com/cli/unpublish)   |  Menghapus paket dari registri.  |  CodeCatalyst tidak mendukung penghapusan versi paket dari repositori dengan menggunakan klien npm. Anda dapat menghapus paket di konsol.  | 
|   [whoami](https://docs.npmjs.com/cli/whoami)   |  Menampilkan nama pengguna npm.  |  CodeCatalyst menggunakan model pengguna yang berbeda dari repositori npmjs publik.  | 

# penanganan tanda npm
<a name="packages-npm-tags"></a>

registri npm mendukung *tanda*, yang merupakan alias string untuk versi paket. Anda dapat menggunakan tag untuk memberikan alias alih-alih menggunakan nomor versi. Misalnya, Anda memiliki proyek dengan beberapa aliran pengembangan dan Anda menggunakan tag yang berbeda untuk setiap aliran (misalnya,,`stable`, `beta``dev`,`canary`). Untuk informasi lebih lanjut, lihat [dist-tag](https://docs.npmjs.com/cli/dist-tag) di *npm* Docs. 

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 hanya menggunakan tag terbaru untuk versi rilis stabil. Tanda lain digunakan untuk versi yang tidak stabil atau pra-rilis. 

## Mengedit tag dengan klien npm
<a name="editing-tags-with-the-npm-client"></a>

 Tiga `npm dist-tag` perintah (`add`,`rm`, dan`ls`) berfungsi dengan cara yang sama di repositori CodeCatalyst paket seperti yang berfungsi di registri [npm default](https://registry.npmjs.com/).

## tanda npm dan repositori hulu
<a name="packages-tags-and-upstreams"></a>

Saat `npm` meminta tag untuk paket dan versi paket itu juga ada di repositori upstream, CodeCatalyst gabungkan tag sebelum mengembalikannya ke klien. Misalnya, repositori bernama `R` memiliki repositori upstream bernama. `U` Tabel berikut menunjukkan tag 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 hal ini, ketika klien npm mengambil tag untuk `web-helper` paket dari repositori`R`, ia menerima tag *terbaru* dan alpha.* Versi yang ditunjukkan oleh tanda tidak akan berubah.

*Ketika tag yang sama hadir pada paket yang sama di repositori upstream dan lokal, CodeCatalyst gunakan tag yang terakhir diperbarui.* Misalnya, anggap tanda pada *webhelper* telah dimodifikasi agar terlihat seperti berikut ini.


****  

| Repositori | Nama paket | Tanda paket | Terakhir diperbarui | 
| --- | --- | --- | --- | 
|  R  |  `web-helper`  |   *terbaru* (alias untuk versi 1.0.0)  |  1 Januari 2023  | 
|  U  |  `web-helper`  |   *terbaru* (alias untuk versi 1.0.1)  |  1 Juni 2023  | 

*Dalam hal ini, ketika klien npm mengambil tag untuk paket *web-helper* dari repositori`R`, tag *terbaru* akan alias versi 1.0.1 karena diperbarui terakhir.* Ini memudahkan untuk menggunakan versi paket baru di repositori upstream yang belum ada di repositori lokal dengan menjalankannya. `npm update`