Saya memutuskan untuk pergi bersama Hugo untuk membina tapak web peribadi saya. Satu-satunya perkara yang saya berdasarkan pilihan saya ialah masa pembinaan. Saya fikir Hugo berada dalam liga yang sama dengan Astro apabila ia berkaitan dengan faedah pengurusan kandungan, tetapi ia masih belum sampai. Atau, saya boleh katakan ia mempunyai laluannya sendiri kerana ia lebih tua daripada kebanyakan penjana tapak statik lain yang saya temui. Selain itu, ia adalah aplikasi Go, yang merupakan satu lagi faktor penting untuk dipertimbangkan semasa menilai pilihan teknologi.
Ya, adalah mungkin untuk melanjutkan fungsi Hugo. Anda boleh menambah ciri yang hilang melalui modul yang mengubah suai proses binaan. Sebagai contoh, saya kehilangan sokongan MDX dalam Hugo. Saya boleh menangani ini melalui modul yang menjadikan MDX pada masa binaan. Saya sendiri belum mencubanya, tetapi nampaknya boleh.
Saya juga berpotensi menambah saluran paip bangunan selari—jika kita boleh memanggilnya begitu. Ini mungkin melibatkan penggunaan alatan seperti Vite, Turbo atau Webpack. Walau bagaimanapun, pendekatan ini berkemungkinan akan merumitkan proses pembinaan dan berpotensi memperlahankan mekanisme bangunan utama Hugo. Penyepaduan ini telah digunakan untuk menggabungkan Tailwind dan perpustakaan bahagian hadapan yang lain. Menariknya, jika anda melihat ciri Hugo yang akan datang, anda akan melihat rancangan untuk menyepadukan Tailwind dan teknologi lain.
Saya menggunakan beberapa alatan Hugo pihak ketiga, khususnya HugoMods. Modul ikon menarik perhatian saya kerana saya ingin menambah ikon pada tapak web saya tanpa mengimport keseluruhan fon. Semasa mencari, modul Ikon adalah perkara pertama yang muncul. Ia menawarkan pelbagai vendor ikon, termasuk Bootstrap, Font Awesome, ikon Feather dan banyak lagi.
Secara tempatan, semuanya berfungsi dengan sempurna. Walau bagaimanapun, selepas menolak perubahan saya, tiada apa yang kelihatan berubah. Setelah menyemak halaman binaan dalam Vercel, saya perasan...
[12:10:48.021] Running build in Washington, D.C., USA (East) – iad1 [12:10:48.210] Cloning github.com/mohessaid/mohessaid (Branch: main, Commit: eaeecd1) [12:10:48.449] Cloning completed: 238.727ms [12:10:49.038] Restored build cache from previous deployment (5i5sCdjnY3KZXgGBqbqfgJUjrwYB) [12:10:49.132] Running "vercel build" [12:10:49.714] Vercel CLI 39.0.2 [12:10:50.440] Total in 3 ms [12:10:50.441] Error: failed to load modules: failed to download modules: binary with name "go" not found in PATH [12:10:50.446] Error: Command "hugo --gc" exited with 1 [12:10:50.625]
Apabila Hugo cuba memasang modul yang diperlukan untuk binaan, ia tidak menemui binari Go. Saya meminta bantuan daripada Claude dan GPT, mengharapkan penyelesaian yang cepat, tetapi mereka tidak dapat memberikan bantuan langsung. Saya terpaksa membimbing mereka melalui setiap langkah, dan akhirnya, saya hilang harapan dalam keupayaan mereka untuk membantu saya.
Saya juga telah menggunakan Claude untuk penyelesaian yang hampir berjaya, jika tidak kerana pengehadan dalam medan input Vercel.
Saya menavigasi ke halaman tetapan tapak web saya dalam papan pemuka Vercel. Dalam tab "Pembolehubah Persekitaran", saya menambahkan pembolehubah bernama "HUGO_VERSION" dan menetapkan nilainya kepada versi terbaru Hugo yang tersedia.
Dalam tab "Umum", pilih Hugo sebagai pratetap rangka kerja. Kemudian ganti arahan bina dengan yang berikut:
curl -L https://go.dev/dl/go1.22.2.linux-amd64.tar.gz -o go1.22.2.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.22.2.linux-amd64.tar.gz && export PATH=$PATH:/usr/local/go/bin && go env GOTPATH && hugo --gc --minify
Nota: Saya menggunakan Go versi 1.22.2, iaitu yang terkini pada masa penulisan. Anda boleh mengubah suai versi agar sepadan dengan keperluan khusus anda.
Saya faham keraguan anda. Seperti anda, saya fikir saya mempunyai penyelesaian yang bijak. Pada mulanya, saya cuba memasang Go dalam medan Install Command, tetapi ia gagal dengan teruk. Proses binaan Vercel tidak dapat mengesan perduaan, walaupun saya telah menyelesaikan masalah yang menyeluruh.
Selepas meneroka banyak penyelesaian berpotensi tanpa kejayaan, saya terjumpa isu GitHub di mana seseorang telah meletakkan keseluruhan proses pemasangan mereka secara langsung dalam medan binaan. Meniru pendekatan mereka, akhirnya saya mencapai kejayaan. Pada ketika ini, penyelesaiannya bercakap untuk dirinya sendiri.
Percubaan untuk meletakkan langkah ini dalam medan arahan pemasangan berkemungkinan akan mengakibatkan ralat.
Atau yang ini
Memasang Amazon Linux Extras tidak akan menyelesaikan cabaran pemasangan Go. Versi Go yang tersedia melalui kaedah ini adalah ketinggalan zaman. Saya menguji pendekatan ini dengan teliti dan menghadapi kegagalan yang konsisten. Saya cuba menggunakan kedua-dua pengurus pakej yum dan dnf dalam arahan pemasangan, tetapi kedua-dua kaedah tidak berjaya menyelesaikan isu binari Go.
Akhirnya, saya berkongsi siaran ini merentas platform yang berbeza untuk menguji yang mana satu daripada mereka mendapat pertama dalam hasil carian. Saya sanggup lakukan ini beberapa bulan lalu. Walau bagaimanapun, saya tidak dapat jawatan yang sesuai untuknya. Anda boleh mengikuti percubaan dari sini.
Atas ialah kandungan terperinci Cara Menghoskan Hugo dalam Vercel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!