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 .NET SDK. Paket snap .NET SDK disediakan oleh 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 Tur mulai cepat.
Perhatian
Snap penginstalan .NET mungkin memiliki masalah saat menjalankan alat .NET. Jika Anda ingin menggunakan alat .NET, kami sarankan Anda menginstal .NET menggunakan dotnet-install skrip atau manajer paket untuk distribusi Linux tertentu.
Ini adalah masalah yang diketahui bahwa dotnet watch perintah tidak berfungsi saat .NET diinstal melalui Snap.
Jika Anda akan menggunakan alat .NET atau dotnet watch perintah , kami sarankan Anda menginstal .NET menggunakan dotnet-install skrip .
Prasyarat
- Distribusi Linux yang mendukung snap.
-
snapddaemon snap.
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 panjang 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
Penting
.NET 10 dirilis pada 11 November 2025. Mungkin perlu waktu agar paket muncul di umpan manajer paket atau untuk distribusi Linux spesifik Anda untuk menyertakannya.
Dimulai dengan .NET 9, paket snap untuk .NET SDK diterbitkan di bawah pengidentifikasi khusus versi (misalnya, dotnet-sdk-90 untuk .NET 9 dan dotnet-sdk-100 untuk .NET 10). Sebelum .NET 9, semua versi SDK diterbitkan di bawah pengidentifikasi dotnet-sdkyang sama , dan Anda menentukan versi melalui saluran. Selain itu, paket snap .NET 9 dan yang lebih baru mendukung arsitektur x64 dan Arm64, sementara versi sebelumnya hanya mendukung x64. SDK mencakup runtime ASP.NET Core dan .NET, versi ke SDK.
Tip
Halaman paket Snapcraft .NET SDK menyertakan instruksi khusus distribusi tentang cara menginstal Snapcraft dan .NET.
Buka terminal.
Gunakan
snap installuntuk menginstal paket snap .NET SDK.Parameter
--classicdiperlukan.Untuk .NET 9 dan yang lebih baru
Pasang paket versi tertentu. Misalnya, perintah berikut menginstal .NET SDK 10:
sudo snap install dotnet-sdk-100 --classicUntuk .NET 8 dan yang lebih lama
Instal dari
dotnet-sdkpaket dan tentukan saluran. Jika parameter ini dihilangkan,latest/stabledigunakan. Misalnya, perintah berikut menginstal .NET SDK 8:sudo snap install dotnet-sdk --classic --channel 8.0/stable
dotnet Alias snap secara otomatis dibuat dan dipetakan ke perintah paket dotnet snap.
Tabel berikut mencantumkan paket snap dan saluran yang bisa Anda instal:
| Versi .NET | Paket Snap atau saluran |
|---|---|
| 10 (LTS) |
dotnet-sdk-100 (pratinjau) |
| 9 (STS) | dotnet-sdk-90 |
| 8 (LTS) | dotnet-sdk --channel 8.0/stable |
| 7 |
dotnet-sdk --channel 7.0/stable (di luar dukungan) |
| 6 |
dotnet-sdk --channel 6.0/stable (di luar dukungan) |
| 5 |
dotnet-sdk --channel 5.0/stable (di luar dukungan) |
| 3.1 |
dotnet-sdk --channel 3.1/stable (di luar dukungan) |
| 2.1 |
dotnet-sdk --channel 2.1/stable (di luar dukungan) |
2. Ekspor lokasi penginstalan
Variabel DOTNET_ROOT lingkungan sering digunakan oleh alat untuk menentukan di mana .NET diinstal. Saat .NET diinstal melalui Snap, variabel lingkungan ini tidak dikonfigurasi. Anda harus mengonfigurasi variabel lingkungan DOTNET_ROOT di profil Anda. Jalur ke snap menggunakan format berikut: /snap/{package}/current.
Untuk .NET 9 dan yang lebih baru, gunakan nama paket khusus versi:
export DOTNET_ROOT=/snap/dotnet-sdk-100/current
Untuk .NET 8 dan yang lebih lama, gunakan nama paket bersama:
export DOTNET_ROOT=/snap/dotnet-sdk/current
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 dan tambahkan perintah ekspor untuk versi .NET yang diinstal. Untuk .NET 9+, gunakan export DOTNET_ROOT=/snap/dotnet-sdk-100/current (sesuaikan nomor versi sesuai kebutuhan). Untuk .NET 8 dan yang lebih lama, gunakan export DOTNET_ROOT=/snap/dotnet-sdk/current.
3. Gunakan .NET CLI
Buka terminal dan ketik dotnet.
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 .NET CLI, lihat gambaran umum .NET CLI.
Pemecahan Masalah
- Perintah terminal dotnet tidak berfungsi
- Tidak dapat menginstal Snap di WSL2
- Tidak dapat mengatasi perintah dotnet atau SDK
- Kesalahan Sertifikat TLS/SSL
Perintah terminal dotnet tidak berfungsi
Paket snap dapat memetakan alias ke perintah yang disediakan oleh paket. Secara default, paket snap .NET SDK membuat alias untuk dotnet perintah . Jika alias tidak dibuat atau sebelumnya dihapus, gunakan perintah berikut untuk memetakan alias.
Untuk .NET 9 dan yang lebih baru:
sudo snap alias dotnet-sdk-100.dotnet dotnet
Untuk .NET 8 dan yang lebih lama:
sudo snap alias dotnet-sdk.dotnet dotnet
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 perntah
wsl.exe --shutdown.
Tidak dapat mengatasi perintah dotnet atau SDK
Umum untuk aplikasi lain, seperti IDE kode atau ekstensi di Visual Studio Code, untuk mencoba menyelesaikan lokasi .NET SDK. Biasanya, penemuan DOTNET_ROOT dilakukan dengan memeriksa variabel lingkungan, atau mencari tahu di mana dotnet executable berada. .NET SDK yang diinstal 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:
Pastikan Anda mengekspor
DOTNET_ROOTvariabel lingkungan secara permanen.Cobalah untuk menautkan simbolis snap
dotnetexecutable ke lokasi yang dicari program.Dua jalur umum yang dicari
dotnetperintah adalah:/usr/local/bin/dotnet/usr/share/dotnet
Gunakan perintah berikut untuk membuat tautan simbolis ke paket snap. Untuk .NET 9 dan yang lebih baru, gunakan nama paket khusus versi:
ln -s /snap/dotnet-sdk-100/current/dotnet /usr/local/bin/dotnetUntuk .NET 8 dan yang lebih lama:
ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
Kesalahan Sertifikat TLS/SSL
Ketika .NET diinstal melalui Snap, ada kemungkinan bahwa pada beberapa distribusi sertifikat .NET TLS/SSL 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 |