Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara menginstal paket snap SDK .NET. Paket snap SDK .NET disediakan dan dikelola oleh Canonical. Snaps adalah alternatif yang bagus untuk manajer paket yang dibangun ke dalam distribusi Linux Anda.
Snap adalah bundel aplikasi dan dependensinya yang berfungsi di berbagai distribusi Linux. Snap dapat ditemukan dan dapat diinstal dari Snap Store. Untuk informasi selengkapnya tentang Snap, lihat Memulai.
Penting
Jika Anda menginstal .NET dengan Snap, gunakan Snap untuk mengelola semua penginstalan .NET Anda. Hindari mencampur Snap dengan metode penginstalan lain, seperti manajer paket atau penginstalan berskrip, karena metode pencampuran dapat menyebabkan konflik.
Perhatian
Instalasi snap .NET mungkin mengalami masalah saat menjalankan alat .NET. Jika Anda ingin menggunakan alat .NET, kami sarankan Anda menginstal .NET menggunakan skrip dotnet-install atau manajer paket untuk distribusi Linux tertentu.
Ini adalah masalah yang diketahui bahwa perintah dotnet watch tidak berfungsi saat .NET diinstal melalui Snap.
Jika Anda akan menggunakan alat .NET atau perintah dotnet watch, kami sarankan Anda menginstal .NET menggunakan skrip dotnet-install.
Prasyarat
- Distribusi Linux yang mendukung snap.
-
snapdsnap daemon.
Distribusi Linux Anda mungkin sudah menyertakan snap. Coba jalankan snap dari terminal untuk melihat apakah perintah berfungsi. Untuk daftar distribusi Linux yang didukung, dan instruksi tentang cara menginstal snap, lihat Menginstal snapd.
rilis .NET
Microsoft menerbitkan .NET di bawah dua kebijakan dukungan yang berbeda, Dukungan Jangka Panjang (LTS) dan Dukungan Jangka Standar (STS). Kualitas semua rilis sama. Satu-satunya perbedaan adalah durasi dukungan. Rilis LTS mendapatkan dukungan dan patch gratis selama tiga tahun. Rilis STS mendapatkan dukungan dan patch gratis selama dua tahun. Untuk informasi selengkapnya, lihat Kebijakan Dukungan .NET.
Versi .NET yang saat ini didukung oleh Microsoft adalah:
- 10.0 (LTS)—Dukungan berakhir pada 14 November 2028.
- 9.0 (STS)—Dukungan berakhir pada 10 November 2026.
- 8.0 (LTS)—Dukungan berakhir pada 10 November 2026.
Entitas lain yang membangun dan merilis .NET mungkin memperkenalkan kebijakan dukungan yang berbeda. Pastikan untuk memeriksanya untuk memahami bagaimana .NET didukung.
1. Instal SDK
Untuk menginstal SDK .NET, gunakan pengidentifikasi paket snap khusus versi karena pendekatan ini memungkinkan Anda menginstal dan mengelola beberapa versi SDK secara berdampingan. Misalnya, gunakan dotnet-sdk-80 untuk .NET 8 dan dotnet-sdk-100 untuk .NET 10. SDK mencakup runtime ASP.NET Core dan .NET, yang versinya disesuaikan dengan SDK. Artikel ini menggunakan paket snap .NET 10 SDK; jika Anda menggunakan paket yang berbeda, ganti paket tersebut.
Petunjuk
Halaman paket Snapcraft .NET SDK (.NET 8, .NET 9, .NET 10) menyertakan instruksi khusus distribusi tentang cara menginstal Snapcraft dan .NET.
Buka terminal.
Gunakan
snap installuntuk menginstal paket snap SDK .NET.Perintah berikut menginstal .NET SDK 10:
sudo snap install dotnet-sdk-100
Tabel berikut ini mencantumkan paket snap SDK .NET yang bisa Anda instal:
| versi .NET | Paket Snap |
|---|---|
| 10 (LTS) | dotnet-sdk-100 |
| 9 (STS) | dotnet-sdk-90 |
| 8 (LTS) | dotnet-sdk-80 |
2. Memetakan perintah dotnet
Karena Snap tidak membuat perintah tanpa versi dotnet, buat tautan simbolis agar dotnet tersedia di seluruh sistem. Buat tautan ini hanya jika Anda ingin memetakan perintah dotnet ke instalasi Snap spesifik ini. Jika Anda sudah menginstal .NET melalui metode lain dan Anda membuat tautan ini, tautan ini akan menimpa pemetaan tersebut.
Jika /usr/local/bin/dotnet sudah ada, hapus sebelum Anda membuat tautan.
sudo ln -s /snap/dotnet-sdk-100/current/usr/bin/dotnet /usr/local/bin/dotnet
3. Ekspor lokasi penginstalan
Konfigurasikan DOTNET_ROOT variabel lingkungan di profil shell Anda karena alat menggunakannya untuk menentukan di mana .NET diinstal. Pemasangan snap tidak mengatur variabel ini secara otomatis. Jalur menggunakan format berikut: /snap/{package}/current/usr/lib/dotnet.
export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet
Ganti 100 dengan versi SDK yang Anda instal, seperti 80 untuk .NET 8 atau 90 untuk .NET 9.
Mengekspor variabel lingkungan secara permanen
Perintah sebelumnya export hanya mengatur variabel lingkungan untuk sesi terminal tempatnya dijalankan.
Anda dapat mengedit profil shell untuk menambahkan perintah secara permanen. Ada banyak shell berbeda yang tersedia untuk Linux dan masing-masing memiliki profil yang berbeda. Contohnya:
- Bash Shell: ~/.bash_profile, ~/.bashrc
- Korn Shell: ~/.kshrc atau .profile
- Z Shell: _~/.zshrc* atau .zprofile
Edit file sumber yang sesuai untuk shell Anda, tambahkan perintah ekspor untuk versi .NET yang diinstal, dan simpan perubahan Anda.
Misalnya: export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet.
4. Gunakan .NET CLI
Buka terminal dan jalankan dotnet perintah .
dotnet
Output berikut ditampilkan:
Usage: dotnet [options]
Usage: dotnet [path-to-application]
Options:
-h|--help Display help.
--info Display .NET information.
--list-sdks Display the installed SDKs.
--list-runtimes Display the installed runtimes.
path-to-application:
The path to an application .dll file to execute.
Untuk mempelajari cara menggunakan CLI .NET, lihat ringkasan CLI .NET.
Pemecahan Masalah
- Tidak dapat menginstal Snap di WSL2
- Tidak dapat mengatasi perintah dotnet atau SDK
- Kesalahan Sertifikat TLS/SSL
Tidak dapat menginstal Snap di WSL2
systemd harus diaktifkan pada instans WSL2 sebelum Snap dapat diinstal.
Buka
/etc/wsl.confdi editor teks pilihan Anda.Tempelkan dalam konfigurasi berikut:
[boot] systemd=trueSimpan file dan mulai ulang instans WSL2 melalui PowerShell. Gunakan perintah
wsl.exe --shutdown.
Tidak dapat mengatasi perintah dotnet atau SDK
Hal yang umum bagi aplikasi lain, seperti IDE kode atau ekstensi di Visual Studio Code, adalah mencoba menemukan lokasi SDK .NET. Biasanya, penemuan DOTNET_ROOT dilakukan dengan memeriksa variabel lingkungan, atau mencari tahu di mana dotnet executable berada. SDK .NET yang dipasang menggunakan snap mungkin membingungkan aplikasi ini. Saat aplikasi ini tidak dapat mengatasi .NET SDK, kesalahan yang mirip dengan salah satu pesan berikut ditampilkan:
- SDK 'Microsoft.NET. Sdk' yang ditentukan tidak dapat ditemukan
- SDK 'Microsoft.NET. Sdk.Web' yang ditentukan tidak dapat ditemukan
- SDK 'Microsoft.NET. Sdk.Razor' yang ditentukan tidak dapat ditemukan
Coba langkah-langkah berikut untuk memperbaiki masalah:
- Selesai 2. Petakan perintah dotnet.
- Atur
DOTNET_ROOTvariabel lingkungan secara permanen dengan mengikuti Ekspor variabel lingkungan secara permanen.
Kesalahan Sertifikat TLS/SSL
Ketika .NET diinstal melalui Snap, ada kemungkinan bahwa pada beberapa distribusi sertifikat TLS/SSL .NET mungkin tidak ditemukan dan Anda mungkin menerima kesalahan selama restore:
Processing post-creation actions...
Running 'dotnet restore' on /home/myhome/test/test.csproj...
Restoring packages for /home/myhome/test/test.csproj...
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : The SSL connection could not be established, see inner exception. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : The remote certificate is invalid according to the validation procedure. [/home/myhome/test/test.csproj]
Untuk mengatasi masalah ini, atur beberapa variabel lingkungan:
export SSL_CERT_FILE=[path-to-certificate-file]
export SSL_CERT_DIR=/dev/null
Lokasi sertifikat bervariasi menurut distribusi. Berikut adalah lokasi untuk distribusi tempat masalah telah diamati:
| Distribusi | Lokasi |
|---|---|
| Fedora | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
| OpenSUSE | /etc/ssl/ca-bundle.pem |
| Solus | /etc/ssl/certs/ca-certificates.crt |