Rumah >pembangunan bahagian belakang >Golang >Ralat Modul Pergi: Mengapa 'pakej pakej1 tiada dalam GOROOT' dan bagaimana saya membetulkannya?

Ralat Modul Pergi: Mengapa 'pakej pakej1 tiada dalam GOROOT' dan bagaimana saya membetulkannya?

Susan Sarandon
Susan Sarandonasal
2024-12-03 08:07:11948semak imbas

Go Module Error: Why is

Go Module Ralat: Pakej Tiada dalam GOROOT

Isu:

Apabila berlari go run main.go, pengguna menghadapi perkara berikut ralat:

package package1 is not in GOROOT (/usr/local/go/src/package1)

Punca:

Ralat ini berlaku apabila sistem modul Go tidak dapat mengesan pakej yang ditentukan dalam direktori GOROOT.

Penyelesaian:

Untuk menyelesaikan isu ini, pastikan pembolehubah persekitaran adalah betul dikonfigurasikan. Langkah berikut perlu diikuti:

  1. Konfigurasikan GOPATH:

    • Buat direktori GOPATH di luar GOROOT, seperti /mnt/ sda1/programming/gopath.
    • Tetapkan pembolehubah persekitaran GOPATH untuk menunjuk ke direktori ini:

      export GOPATH=/mnt/sda1/programming/gopath
  2. Laraskan GOROOT:

    • Pastikan bahawa GOROOT ditetapkan kepada akar Go yang dipasang sistem direktori:

      export GOROOT=/usr/local/go
  3. Tambah GOROOT ke PATH:

    • Tambah GOROOT ke persekitaran PATH pembolehubah:

      export PATH=$PATH:$GOROOT/bin
  4. Dayakan Modul Go:

    • Tetapkan pembolehubah persekitaran GO111MODULE kepada pada:

      export GO111MODULE=on
  5. Kemas kini Bashrc:

    • Tambahkan pembolehubah persekitaran di atas pada .bashrc fail.
    • Muatkan fail .bashrc dalam terminal:

      source ~/.bashrc
  6. Memulakan Semula Modul:

    • Navigasi ke folder utama yang mengandungi main.go .
    • Memulakan semula modul Go dengan go mod init utama.
  7. Buat Direktori Pakej:

    • Buat direktori untuk pakej, mis., pakej1.
    • Di dalam pakej1, cipta fail yang diperlukan dengan pakej pakej1 arahan.
    • Jangan cipta fail go.mod dalam direktori pakej.
  8. Import Pakej:

    • Dalam main.go, import pakej:

      import "main/package1"
  9. Muat bashrc sekali lagi:

    • run source ~/.bashrc sekali lagi ke pastikan tetapan kemas kini digunakan.

Setelah langkah ini lengkap, pakej pakej1 tidak berada dalam ralat GOROOT harus diselesaikan dan fail main.go harus berjalan dengan jayanya.

Atas ialah kandungan terperinci Ralat Modul Pergi: Mengapa 'pakej pakej1 tiada dalam GOROOT' dan bagaimana saya membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn