Menambahkan paket ke proyek Node.js
.NET dilengkapi dengan banyak pustaka inti yang menangani semuanya mulai dari mengelola file ke HTTP hingga mengompresi file. Ada juga ekosistem besar pustaka pihak ketiga. Anda dapat menggunakan NuGet, manajer paket .NET, untuk menginstal pustaka ini dan menggunakannya di aplikasi Anda.
.NET dan ekosistemnya sering menggunakan kata dependensi. Dependensi paket adalah pustaka pihak ketiga. Ini adalah bagian dari kode yang dapat digunakan kembali yang mencapai sesuatu dan yang dapat Anda tambahkan ke aplikasi Anda. Pustaka pihak ketiga adalah sesuatu yang diperlukan oleh aplikasi Anda untuk berfungsi, oleh karena itu kata ketergantungan.
Anda dapat menganggap pustaka pihak ketiga sebagai paket yang disimpan di repositori. Paket terdiri dari satu atau beberapa pustaka yang dapat Anda tambahkan ke aplikasi sehingga Anda dapat memanfaatkan fitur-fiturnya.
Di sini, kami fokus pada dependensi paket. Namun, proyek .NET dapat memiliki jenis dependensi lain selain dependensi paket. Termasuk, kerangka kerja, penganalisis, referensi proyek, dan dependensi proyek bersama.
Menentukan jika Anda memerlukan disk premium
Bagaimana Anda tahu jika Anda membutuhkan paket untuk proyek Anda? Ini adalah pertanyaan rumit yang melibatkan beberapa faktor:
- Mendapatkan kode yang lebih baik: Tanyakan pada diri Anda apakah Anda berurusan dengan tugas seperti keamanan, misalnya, dan mencoba menerapkan autentikasi dan otorisasi. Ini adalah tugas yang perlu Anda lakukan dengan benar untuk melindungi data Anda dan data pelanggan Anda. Ada pola standar di luar sana dan pustaka yang digunakan banyak pengembang. Pustaka ini menerapkan fitur yang mungkin selalu Anda butuhkan, dan masalah di-patch saat muncul. Anda harus menggunakan pustaka tersebut alih-alih membuat pustaka Anda sendiri. Anda tidak mungkin menulis kode juga sendiri, karena ada begitu banyak kasus tepi yang perlu Anda pertimbangkan.
- Menghemat waktu: Anda mungkin dapat membangun sebagian besar hal sendiri, seperti pustaka komponen utilitas atau UI, tetapi membutuhkan waktu. Bahkan jika hasil Anda sebanding dengan apa yang tersedia, ini bukan penggunaan waktu yang baik untuk mereplikasi pekerjaan.
- Pemeliharaan: Semua pustaka dan aplikasi memerlukan pemeliharaan cepat atau lambat. Pemeliharaan melibatkan penambahan fitur baru dan perbaikan bug. Apakah ini penggunaan waktu yang baik atau waktu tim Anda untuk mempertahankan pustaka, atau apakah lebih baik membiarkan tim perangkat lunak sumber terbuka menanganinya?
Mengevaluasi paket
Sebelum Anda menginstal pustaka, Anda mungkin ingin memeriksa dependensi yang menjadi sandarannya. Dependensi ini dapat mendorong Anda untuk menggunakan paket, atau dapat menghalangi Anda. Berikut adalah beberapa faktor yang perlu dipertimbangkan saat Anda memilih dependensi untuk proyek:
- Ukuran: Jumlah dependensi mungkin membuat jejak besar. Jika Anda memiliki bandwidth terbatas atau memiliki batasan perangkat keras lainnya, faktor ini mungkin menjadi perhatian.
- Lisensi: Anda perlu memastikan bahwa lisensi yang diberikan untuk pustaka mencakup penggunaan yang Anda maksudkan, baik penggunaan tersebut komersial, pribadi, atau akademik.
- Pemeliharaan aktif: Mungkin masalah jika paket Anda bergantung pada dependensi yang tidak dipertahankan secara aktif. Dependensi dapat ditolak atau tidak diperbarui untuk waktu yang lama.
Anda dapat mempelajari selengkapnya tentang paket sebelum menginstalnya dengan masuk ke https://www.nuget.org/packages/<package name>. URL ini membawa Anda ke halaman terperinci untuk paket tersebut. Pilih daftar drop-down Dependensi untuk melihat paket mana yang diandalkannya untuk berfungsi.
Jumlah dependensi yang tercantum mungkin tidak memberi tahu seluruh kebenaran. Jika Anda mengunduh paket, Anda mungkin berakhir dengan dependensi paket yang berisi puluhan paket. Mengapa begitu? Setiap paket memiliki daftar dependensi. Untuk memastikan bahwa Anda dapat menggunakan paket, semua dependensi dirayapi dan diunduh saat Anda menjalankan perintah dotnet add package <package name>.
Menginstal paket
Ada beberapa cara untuk memasang paket. Ada baris perintah bawaan dan antarmuka pengguna grafis untuk manajer paket di Visual Studio dan Visual Studio untuk Mac. Anda dapat secara manual menambahkan referensi paket ke file proyek Anda, atau Anda dapat menginstalnya melalui alat antarmuka baris perintah (CLI) seperti Paket atau .NET Core CLI.
Untuk modul ini, kami menggunakan .NET Core CLI bawaan untuk menginstal paket. Anda dapat menambahkan paket ke proyek .NET Anda dengan memanggil perintah di terminal. Perintah penginstalan umum terlihat seperti ini: dotnet add package <name of package>. Saat Anda menjalankan perintah add package, alat baris perintah terhubung ke registri global, mengambil paket, dan menyimpannya di lokasi folder cache yang dapat digunakan semua proyek.
Setelah proyek Anda diinstal dan dibangun, referensi ditambahkan ke folder debug atau rilis Anda. Direktori proyek Anda terlihat seperti ini:
-| bin/
---| Debug/
------| net3.1
--------| <files included in the dependency>
Menemukan paket
Pengembang individu mungkin menggunakan registri global di NuGet.org untuk menemukan dan mengunduh paket yang mereka butuhkan untuk aplikasi mereka. Perusahaan mungkin memiliki strategi tentang paket apa yang BAIK untuk digunakan dan di mana menemukannya.
Paket mungkin terletak di banyak tempat yang berbeda. Beberapa dari sumber ini mungkin tersedia untuk umum, dan beberapa mungkin dibatasi dan hanya tersedia untuk karyawan perusahaan tertentu. Berikut adalah beberapa tempat di mana paket mungkin berada:
- Registri: Contohnya mungkin registri global, seperti registri NuGet.org. Anda dapat menghosting registri Anda sendiri yang dapat bersifat privat atau publik. Layanan seperti GitHub dan Azure DevOps membuat registri privat tersedia.
- File: Anda dapat menginstal paket dari folder lokal. Penginstalan dari paket adalah umum ketika Anda mencoba mengembangkan pustaka .NET Anda sendiri dan ingin menguji paket secara lokal. Atau, untuk beberapa alasan Anda tidak ingin menggunakan registri.
Registri NuGet dan alat dotnet
Ketika Anda menjalankan dotnet add package <name of dependency>, .NET masuk ke registri global yang disebut registri NuGet.org yang terletak di https://nuget.org dan mencari kode untuk diunduh. Anda juga dapat menelusuri halaman ini untuk paket jika Anda mengunjunginya dengan menggunakan browser. Setiap paket memiliki situs web khusus yang dapat Anda kunjungi.
Di situs-situs ini, Anda dapat mempelajari lebih lanjut tentang di mana kode sumber berada. Anda juga dapat menemukan informasi seperti metrik pada unduhan dan informasi tentang pemeliharaan.
Perintah .NET
Sejauh ini, Anda mempelajari bagaimana Anda dapat menginstal dependensi dengan menggunakan .NET Core CLI. Tetapi alat ini dapat melakukan lebih banyak hal.
.NET Core CLI memiliki beberapa perintah. Perintah ini membantu Anda dengan tugas-tugas seperti menginstal paket, menulis paket, dan menginisialisasi proyek .NET. Anda tidak perlu mengetahui semua perintah secara rinci. Saat memulai dengan .NET, Anda mungkin hanya menggunakan subset perintah. Saat memperluas penggunaan .NET, Anda mungkin menggunakan lebih banyak perintah dari berbagai kategori.
Untuk membantu Anda mengingat apa yang dilakukan perintah, akan membantu jika Anda menganggapnya sebagai kategori:
- Mengelola dependensi: Perintah dalam kategori ini mencakup penginstalan, penghapusan, pembersihan setelah penginstalan paket, dan pembaruan paket.
- Jalankan program: Alat .NET Core dapat membantu Anda mengelola alur dalam pengembangan aplikasi Anda. Contoh alur aplikasi menjalankan pengujian, membangun kode, dan menjalankan perintah migrasi untuk meningkatkan proyek.
- Menulis dan menerbitkan paket: Beberapa perintah dapat membantu Anda dengan tugas seperti membuat paket terkompresi dan mendorong paket ke registri.
Jika Anda menginginkan daftar terperinci dari semua perintah, masukkan dotnet --help di terminal.
Cara menginstal paket
dotnet add package <dependency name> Gunakan perintah untuk menginstal dependensi normal yang dimaksudkan untuk digunakan sebagai bagian dari aplikasi Anda.
Catatan
Anda dapat menginstal beberapa paket secara global. Paket-paket ini tidak dimaksudkan untuk diimpor ke proyek Anda. Untuk alasan itu, banyak paket global adalah alat atau templat CLI. Anda juga dapat menginstal alat global ini dari repositori paket. Instal alat menggunakan perintah dotnet tool install <name of package>. Instal templat menggunakan perintah dotnet new -i <name of package>.
Setelah penginstalan
Paket yang diinstal tercantum di bagian dependencies file Anda .csproj . Jika Anda ingin melihat paket apa yang ada di folder, Anda dapat memasukkan dotnet list package.
Project 'DotNetDependencies' has the following package references
[net8.0]:
Top-level Package Requested Resolved
> Humanizer 2.7.9 2.7.9
Perintah ini hanya mencantumkan paket tingkat atas, dan bukan dependensi dari paket yang kami sebut paket transitif. Perintah ini bagus untuk melihat sekilas. Jika Anda menginginkan tampilan yang lebih mendalam, Anda dapat mencantumkan semua paket transitif. Saat Anda melakukannya, list perintah terlihat seperti ini:
dotnet list package --include-transitive
Termasuk transitif memungkinkan Anda melihat dependensi bersama dengan semua paket yang Anda instal. Jika Anda menjalankan dotnet list package --include-transitive, Anda mungkin mendapatkan output ini:
Project 'DotNetDependencies' has the following package references
[net8.0]:
Top-level Package Requested Resolved
> Humanizer 2.7.9 2.7.9
Transitive Package Resolved
> Humanizer.Core 2.7.9
> Humanizer.Core.af 2.7.9
> Humanizer.Core.ar 2.7.9
> Humanizer.Core.bg 2.7.9
> Humanizer.Core.bn-BD 2.7.9
> Humanizer.Core.cs 2.7.9
...
Memulihkan dependensi
Saat Anda membuat atau mengkloning proyek, dependensi yang disertakan tidak diunduh atau diinstal hingga Anda membangun proyek Anda. Anda dapat memulihkan dependensi secara manual, dan alat khusus proyek yang ditentukan dalam file proyek, dengan menjalankan dotnet restore perintah . Di kebanyakan kasus, Anda tidak perlu secara eksplisit menggunakan perintah ini. Pemulihan NuGet berjalan secara implisit, jika perlu, saat Anda menjalankan perintah seperti new, build, dan run.
Membersihkan dependensi
Cepat atau lambat, Anda mungkin menyadari bahwa Anda tidak lagi membutuhkan paket. Atau, Anda mungkin menyadari bahwa paket yang Anda instal bukanlah paket yang Anda butuhkan. Mungkin Anda menemukan salah satu yang menyelesaikan tugas dengan lebih baik. Apa pun alasannya, Anda harus menghapus dependensi yang tidak Anda gunakan. Melakukannya akan menjaga semuanya tetap bersih. Selain itu, dependensi memakan ruang.
Untuk menghapus paket dari proyek Anda, gunakan remove perintah , seperti: dotnet remove package <name of dependency>. Perintah ini menghapus paket dari file proyek .csproj Anda.