Bagian ini memberikan informasi tentang masalah berikut:
Anda juga dapat menjalankan alat Unity Package Manager Diagnostics jika Anda mengalami masalah yang mungkin berhubungan dengan jaringan. Untuk informasi lebih lanjut, lihat Masalah jaringan.
Manajer Paket menampilkan indikator kesalahan dalam Paket jendela Manager ketika menghadapi masalah:
System-wide issues
Pesan kesalahan yang muncul di status bar menunjukkan Manajer Paket telah mendeteksi masalah yang tidak terkait dengan paket tertentu. Misalnya, jika Manajer Paket tidak dapat mengakses paket server registry, menampilkan pesan ini di bilah status:
Jika jaringan Anda tidak dapat mencapai server registry paket, mungkin karena ada masalah koneksi dengan jaringan. Ketika Anda atau administrator sistem Anda memperbaiki kesalahan jaringan, status bar clears.
Jika koneksi jaringan Anda bekerja, tetapi Anda tidak masuk ke dalam Anda, Manajer Paket tidak menampilkan paket Aset Store. Ketika Anda mencoba menggunakan konteks My Assets, Manajer Paket menampilkan kesalahan di bilah status:
Klik tombol Sign in di dalam list view untuk masuk ke akun Unity Anda melalui.
Package-specific issues
Jika paket tertentu memiliki masalah ketika memuat atau menginstal (misalnya, ketika menentukan versi paket mana untuk memuat), ikon kesalahan () muncul di Daftar paket di sebelah paket yang dikompromi (A). Untuk mengetahui apa masalahnya, buka details view paket yang dikompromi untuk melihat pesan kesalahan terperinci (B):
Jendela Paket Manager mungkin akan dipindahkan offscreen atau tersembunyi oleh jendela lain. Ketika ini terjadi, terlihat seperti jendela Manajer Paket gagal terbuka. Dalam hal ini, Anda dapat mencoba mengatur ulang tata letak jendela (Window > Layouts > Default) dan membuka kembali jendela Manajer Paket lagi.
Jika jendela Paket Manager masih tidak muncul, periksa Unity Console windowJendela Unity Editor yang menunjukkan kesalahan, peringatan dan pesan lain yang dihasilkan oleh Unity, atau skrip Anda sendiri. More info
Lihat di Glossary Anda:
Failed to resolve packages: The file [<project-path>/Packages/manifest.json] is not valid JSON:
Unexpected token '}' at 44:1
}
Pesan kesalahan ini menunjukkan bahwa file manifest.json
Anda rusak. Ini juga memberi tahu Anda nomor baris di mana Manajer Paket gagal untuk membuat file, sehingga Anda dapat memperbaiki JSON. Ada sejumlah validator online yang dapat Anda gunakan untuk mencoba untuk memperbaiki masalah. Setelah Anda menyimpan file yang benar, Reload Unity jendela Manajer Paket.
Jika Anda ditingkatkan dari versi awal dari Editor Unity, mungkin ada masalah lain dengan file package manifestSetiap paket memiliki manifest, yang menyediakan informasi tentang paket ke Manajer Paket. Manifest mengandung informasi seperti nama paket, versinya, deskripsi untuk pengguna, ketergantungan pada paket lain (jika ada), dan rincian lainnya. More info
Lihat di Glossary Anda:
Pada tahun 2019.3, file manifest.json
Anda tidak boleh berisi referensi ke paket com.unity.package-manager-ui. Anda dapat menghapus garis berikut dari daftar dependensi manifest:ulang konfigurasi paket proyek Anda or remove the following line from the manifest’s dependencies list:
"com.unity.package-manager-ui": "2.1.1",
Periksa apakah project manifestSetiap proyek Unity memiliki manifestasi proyek, yang bertindak sebagai titik masuk untuk Manajer Paket. File ini harus tersedia di direktori <project>/Packages
. Manajer Paket menggunakannya untuk mengkonfigurasi banyak hal, termasuk daftar dependensi untuk proyek itu, serta repositori paket untuk permintaan. More info
Lihat di Glossary Anda menggunakan “exclude” sebagai versi paket. Ini adalah nilai usang untuk properti dependenciesDalam konteks Manajer Paket, ketergantungan adalah versi paket khusus yang diperlukan proyek atau paket lain untuk bekerja. Ketergantungan dinyatakan dalam bentuk package_name@package_version
. Proyek dan paket menggunakan properti dependencies dalam manifestasi mereka untuk menentukan set paket yang mereka butuhkan. More info
Lihat di Glossary. Jika Anda menemukan garis seperti ini, hapus seluruh garis. Paket Manager hanya menginstal paket yang secara eksplisit disertakan sebagai ketergantungan dalam proyek Anda, jadi setelah Anda menghapus entri itu, Paket Manager mengabaikan paket dan tidak menginstalnya.
Jika Manajer Paket masih gagal untuk memuat, ikuti prosedur di bawah Paket tidak diakui dan Mengatur ulang konfigurasi paket proyek Anda.
Ketika Anda meningkatkan proyek ke versi Unity yang lebih baru, Manajer Paket secara otomatis memperbarui paket yang tidak kompatibel ke versi kompatibel yang lebih baru. Namun, jika paket Anda tidak mengkompilasi, Manajer Paket menampilkan pesan kesalahan di Konsol.
Untuk memperbaiki pesan ini, baca pesan kesalahan dan perbaiki masalah apa pun yang dapat Anda. Misalnya, paket mungkin hilang ketergantungan pada paket atau versi lain. Dalam hal itu, Anda dapat mencoba dan menginstal paket sendiri.
Anda juga dapat mencoba urutan solusi berikut sampai Anda menemukan sesuatu yang bekerja:
Packages
di bawah proyek Anda.Packages
proyek Anda, hanya meninggalkan file manifest.json
. Kemudian coba isi ulang proyek.Library/PackageCache/com.unity.package-manager-ui@<version>
di proyek gagal dengan folder yang sama dari proyek yang baru dibuat.Jika proyek terlalu banyak masalah paket, Anda dapat mengatur ulang proyek Anda kembali ke default package configuration untuk versi Editor Unity. Operasi ini mengatur ulang semua paket di proyek Anda. Ini mungkin tidak memperbaiki sumber masalah, tetapi dapat membantu Anda mengetahui apa masalahnya.
Sitemap Anda tidak dapat membatalkan ulang konfigurasi paket Anda, jadi pastikan Anda kembali ke file Note: terlebih dahulu atau pastikan proyek Anda berada di bawah kendali sumber. Anda juga dapat mengambil tindakan pencegahan ekstra oleh manifest.json
dan menguji operasi pada klon sebelum melanjutkan.membekukan proyek Anda and testing out the operation on the clone before proceeding.
Untuk kembali ke konfigurasi paket default, pilih Reset Packages to defaults dari menu Help.
Anda juga dapat menguji kembali ke paket default sebelum Anda melakukan perubahan akhir:
Klon proyek Anda dengan menyalin-pasting folder proyek Anda dan mengubahnya sehingga mudah ditemukan (misalnya, jika proyek Anda disebut MyProject
maka Anda dapat menggunakan sesuatu seperti clone_MyProject
).
Memuat proyek baru dikloning.
Dari menu Help, pilih Reset Packages to defaults.
Tergantung pada ukuran proyek Anda, ini mungkin membutuhkan waktu beberapa menit.
Cek bahwa berhasil mengatur ulang paket. Jika demikian, Anda dapat melakukan operasi dengan aman pada proyek asli.
Jika Anda mencoba menginstal paket baru dari registry dan tidak bekerja, itu mungkin karena masalah izin.
Anda harus memiliki izin penuh pada folder cache:
C:\Users\yourname\AppData\Local\Unity\cache
~/Users/Library/Unity/cache
Mungkin masalah dengan jaringan. Periksa pengaturan firewall dan proxy Anda.
Terkadang lingkungan institusional, seperti sekolah, kantor pemerintah, atau tempat kerja yang dilindungi jaringan yang mengatur server proxy untuk mengontrol lalu lintas antara jaringan dan Internet, dan menggunakan sertifikat server mereka sendiri yang tidak diakui oleh Unity atau Manajer Paket. Bicaralah dengan administrator jaringan Anda.
Jika Anda melihat banyak kesalahan kompilasi, ini mungkin menunjukkan bahwa Unity tidak mengakui paket dalam proyek Anda yang ada. Dalam hal ini, Anda mungkin hilang komponen .NET.
Untuk Windows:
Untuk MacOS:
Unduh dan instal komponen .NET SDK v2.2.101.
Instal pembaruan yang disarankan di Visual Studio
Gunakan homebrew untuk diseduh dan instal mono:
brew update
brew install mono # optional
brew upgrade mono
Jika perlu, hapus folder Library/obj/temp
di bawah proyek Anda dan restart Unity.
Jika Anda masih mengalami kesulitan, coba reboot komputer Anda juga.
Pesan ini dapat muncul ketika Anda mengambil paket Unity dari registry lingkup. Tanda-tanda bersatu paket yang menciptakan, kecuali untuk paket yang lebih tua, yang belum tentu ditetapkan kembali pada rilis nanti. Jika Anda menyalin paket Unity yang tidak ditugaskan dari registry yang tersingkat ke registry lain, Paket Manager tidak dapat menentukan apakah konten paket aman dan identik dengan paket asli.
Jika Anda menemukan pesan ini, cobalah solusi ini:
Paket memiliki tanda tangan untuk memastikan bahwa konten tidak berubah sebelum atau selama transit. Tanda tangan yang tidak valid biasanya terjadi dalam situasi berikut:
Dalam kedua kasus, Paket Manager mempertimbangkan paket untuk berpotensi berbahaya.
Ketika Anda menemukan tanda tangan yang tidak valid, Anda dapat mencoba menginstal versi paket yang berbeda. Anda juga harus menghindari menggunakan paket Unity dari registry selain Registry Unity.
Jika Anda berbagi paket Unity yang berisi perbaikan, pertimbangkan menggunakan URL Git atau mengatur paket di proyek Anda.
Jika Anda mencoba menginstal paket dari git URL, pesan yang mirip dengan ini muncul:
Cannot perform upm operation: Unable to add package
[https://github.example.com/myuser/myrepository.git]:
No 'git' executable was found. Please install Git on your system and restart Unity [NotFound]
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
Jika Anda mencoba mengunduh paket yang menggunakan Git LFS (Penyimpanan File Besar), Anda mungkin melihat pesan kesalahan ini:
Error when executing git command. git-lfs filter-process: command not found.
Ini menunjukkan bahwa Git LFS mungkin tidak diinstal pada mesin Anda. Untuk memastikan, Anda dapat mengujinya di baris perintah:
git lfs --version
Jika Anda melihat sesuatu seperti ini, Git LFS dipasang:
git-lfs/2.8.0 (GitHub; darwin amd64; go 1.12.7)
Jika tidak, Anda dapat menginstalnya dengan mengikuti petunjuk Bitbucket GitHub.
Jika Anda menentukan lokasi yang tidak ada, pesan yang mirip dengan yang muncul di Konsol Unity:
Cannot perform upm operation: Unable to add package [https://mycompany.github.com/gitproject/com.mycompany.mypackage.git]:
Error when executing git command. fatal: repository 'https://mycompany.github.com/gitproject/com.mycompany.mypackage.git/' not found
[NotFound]
UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)
Cek ejaan Anda. Untuk memastikan Anda menggunakan URL yang benar, buka halaman repositori dan salin URL dari tombol Clone:
Klik tombol ke kanan URL di GitHub (A) atau GitLab (B) untuk menyalin URL ke clipboard Anda.
Jika lokasi repositori benar, mungkin ada masalah lain dengan URL:
https://github.example.com/myuser/myrepository1.git#revision
path
mengutamakan jangkar revisi. Sebagai contoh:https://github.example.com/myuser/myrepository.git?path=/example/folder#v1.2.3
Jika Anda mencoba menginstal paket dari repositori pribadi yang membutuhkan otentikasi, pesan yang mirip dengan yang muncul di Konsol Unity:
Cannot perform upm operation: Unable to add package [https://mycompany.github.com/gitproject/com.mycompany.mypackage.git]:
Error when executing git command. fatal: could not read Username for 'https://mycompany.github.com': terminal prompts disabled
[NotFound]
UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)
Pesan ini kemungkinan karena fakta bahwa Manajer Paket tidak menyediakan terminal atau dialog interaktif di mana Anda dapat memasukkan username dan password Anda untuk HTTP, atau kata sandi Anda untuk membuka kunci SSH Anda:
Dengan HTTP(S), setiap kali Anda masuk ke BitBucket, GitHub atau GitLab Anda perlu memasukkan username dan password Anda di terminal atau kotak dialog. Namun, Manajer Paket tidak menyediakan terminal interaktif atau dialog di mana Anda dapat memasukkan username dan password Anda untuk HTTP (S).
Untuk memotong ini, gunakan salah satu latihan yang disarankan di Solusi untuk HTTPS.
SSH menggunakan sepasang public dan private SSH. Anda dapat menambahkan kunci SSH publik Anda ke Bitbucket, GitHub atau GitLab dan kemudian mengakses repositories tanpa harus memasukkan username dan password.
Namun, jika Anda telah menyiapkan kata sandi untuk menjaga kunci SSH Anda tetap aman, Anda masih harus memasukkan kata sandi di terminal atau kotak dialog untuk memberi otorisasi kunci Anda. Dalam hal itu, Anda dapat menggunakan agen SSH yang dapat membuka kunci SSH Anda untuk otentikasi dengan Manajer Paket atas nama Anda.
Manajer Paket tidak menyediakan terminal interaktif atau dialog di mana Anda dapat memasukkan nama pengguna HTTP (S) Anda dan kata sandi. Untuk memotong ini, gunakan salah satu latihan ini:
Jika Anda menggunakan protokol SSH ke Git URL, Anda mungkin mendapatkan kesalahan otentikasi dari Git. Ini biasanya terjadi ketika Anda mengatur kunci SSH pribadi di mesin lokal Anda yang dilindungi oleh umpan.
Solusi untuk masalah ini adalah untuk mengatur agen SSH yang dapat membuka kunci SSH Anda untuk otentikasi dengan Manajer Paket atas nama Anda. Ikuti petunjuk di bagian yang sesuai dengan sistem operasi Anda:
Versi Windows OpenSSH asli dari ssh-agent bekerja lebih baik dari versi yang tersedia secara default dengan Git untuk Windows. Prosedur ini menjelaskan cara mengatur klien OpenSSH dan menambahkan kunci Anda ke ssh-agent. Jika Anda menggunakan Git untuk Windows, Anda juga dapat memprioritaskan Windows OpenSSH asli di atas Git untuk agen Windows SSH:
Pastikan Klien OpenSSH dipasang. Untuk melakukan ini, mencari di jendela Pengaturan Optional features jendela (Start > Settings, kemudian mencari "fitur opsional"). Ini berlaku untuk Windows 10+.
Periksa variabel lingkungan %PATH%
Anda untuk memastikan lokasi Windows OpenSSH asli muncul (misalnya, C:\WINDOWS\System32\OpenSSH\
).
Note: Jika Anda sudah menggunakan Git untuk Windows, pastikan lokasi Windows OpenSSH asli muncul sebelum Git untuk lokasi Windows SSH dalam variabel %PATH%
Anda. Ini memastikan bahwa Windows menggunakan agen OpenSSH Windows asli di atas Git untuk agen Windows SSH.
Di terminal PowerShell, mulai proses ssh-agent
dan pastikan mulai secara otomatis:
# Set the ssh-agent service to start automatically and manually start it now
Get-Service ssh-agent | Set-Service -StartupType Automatic
# Run the ssh-agent process to start the ssh-agent service
ssh-agent
Mengimpor kunci Anda ke dalam ssh-agent. Untuk melakukan ini, menjalankan ssh-add
pada baris perintah dan kemudian ikuti petunjuk. Secara default, agen menambahkan tombol %USERPROFILE%\.ssh\id_rsa
dan meminta Anda untuk kata sandi.
# Import the key
ssh-add
Untuk menggunakan kunci yang berbeda, Anda dapat menentukannya sebagai argumen:
# Set the ssh-agent service to start automatically and manually start it now
ssh-add <your-secure-ssh-key-name>
Jika Anda tidak dapat mengingat nama kunci Anda, Anda dapat meminta agen untuk mencantumkan mereka:
ssh-add -l
Jika Anda menginstal Git untuk Windows, ulang variabel lingkungan %GIT-SSH%
untuk memastikan bahwa Git selalu menggunakan versi Windows OpenSSH asli dari ssh-agent:
[Environment]::SetEnvironmentVariable("GIT_SSH", "$((Get-Command ssh).Source)", [System.EnvironmentVariableTarget]::User)
Gunakan perintah berikut untuk menambahkan kunci SSH Anda ke sistem macOS Anda:ssh-agent running on your macOS system:
ssh-add -K ~/.ssh/<your-secure-ssh-key-name>
Setelah Anda menjalankan perintah ini, terminal meminta kata sandi untuk membuka kunci SSH Anda dan kemudian menambahkannya ke gantungan kunci macOS. Namun, setelah Anda me-restart sistem Anda, setiap kunci yang disimpan dalam ssh-agent ulang.
Untuk memastikan Anda tidak perlu memasukkan ulang kata sandi Anda setelah Anda me-restart sistem Anda, buka file ~/.ssh/config
(atau buat satu jika Anda tidak menemukannya), dan tambahkan berikut:
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/<your-secure-ssh-key-name>
Restart mesin Anda untuk menerapkan perubahan ini.
Jika Anda mencoba untuk memperbarui Git dependencyManajer Paket mengambil Ketergantungan git dari repositori Git langsung daripada dari registry paket. Ketergantungan Git menggunakan referensi URL Git bukan versi, dan tidak ada jaminan tentang kualitas paket, stabilitas, validitas, atau bahkan apakah versi yang tercantum dalam berkas package.json
menghormati aturan Versi Semantic sehubungan dengan rilis resmi paket ini. More info
Lihat di Glossary Anda ke versi yang lebih baru dari repositori, tetapi itu tidak bekerja, itu mungkin karena Anda Ketergantungan git adalah locked. Jika Anda ingin memperbarui Anda Ketergantungan Git ke versi yang lebih baru dari repositori, gunakan tombol Tambahkan paket dari git URL dan masukkan URL Git. Untuk informasi lebih lanjut, lihat Ketergantungan Git yang dikunci.
Jika Anda melihat pesan berikut di jendela Konsol ketika Anda mencoba mengunduh paket Aset Store, mungkin ada masalah dengan cache Aset Store Anda:
[PackageManager] Error Failed to parse response. UnityEditor.AsyncHTTPClient![:D](https://forum.unity.com/styles/default/xenforo/clear.png)one(State, Int32)
Untuk memecahkan masalah ini, menghapus semua aset yang diunduh dari Alamat paket Asset Store dan kemudian mencoba mengunduh aset lagi.
Warning: Jika proyek Anda mengandung banyak data aset, mungkin diperlukan banyak waktu dan bandwidth untuk mengunduh kembali segalanya.
Tidak semua penyedia registry kompatibel dengan Manajer Paket Unity. Jika server registry paket Anda menambahkan tidak menerapkan endpoint /-/v1/search
atau /-/all
, registry lingkup Anda tidak kompatibel dengan Manajer Paket Unity, dan tidak muncul dalam konteks My Registries di jendela Manajer Paket.
Sementara bangunan, jika ada banyak kesalahan tentang Missing Behavior, UnityLinker mungkin salah pengupasan keluar komponen yang berpikir tidak direferensikan. Ini sering melakukan ini karena tingkat pengupasan terlalu agresif. Misalnya, jika Anda memiliki prefabJenis aset yang memungkinkan Anda untuk menyimpan GameObject lengkap dengan komponen dan properti. Prefab bertindak sebagai template dari mana Anda dapat membuat instance objek baru di tempat kejadian. More info
Lihat di Glossary dalam AssetBundle yang merujuk komponen SpriteShape dalam paket SpriteShape 2D, objek mungkin hilang dan mungkin menghasilkan peringatan kompiler.
Untuk memperbaiki ini, Anda dapat menurunkan tingkat pengupasan untuk UnityLinker atau mendeklarasikan rakitan paket di dalam file link.xml
untuk menjaga mereka dari dilucuti:
<linker>
<assembly fullname="Unity.2D.SpriteShape.Runtime" preserve="all"/>
<assembly fullname="Unity.2D.Common.Runtime" preserve="all"/>
</linker>
Untuk informasi lebih lanjut tentang tingkat pengupasan dan UnityLinker, lihat Dikelola kode pengupasan.
Jika Konsol melaporkan bahwa perpustakaan hostfxr.dll
ditemukan, tetapi Unity gagal memuatnya dari C:\<path_to_app>\hostfxr.dll
, Anda dapat memperbaiki kesalahan ini pada Windows 7 atau Windows Server 2008 R2 dengan menginstal patch KB2999226 dan KB2533623.