Rumah >pembangunan bahagian belakang >Golang >Mengapa Pengkompil Go Saya Tidak Dapat Menemui Pakej Luaran Saya?

Mengapa Pengkompil Go Saya Tidak Dapat Menemui Pakej Luaran Saya?

Barbara Streisand
Barbara Streisandasal
2024-12-05 19:38:10202semak imbas

Why Can't My Go Compiler Find My External Packages?

Menggunakan Pakej Bukan GOROOT Go

Soalan: Menghadapi ralat "pakej pakej1 tiada dalam GOROOT (/usr/local/go/ src/package1)" apabila cuba menggunakan pakej luaran dalam Go.

Penjelasan: Ralat ini berlaku apabila pengkompil Go tidak dapat mencari pakej yang ditentukan dalam direktori GOROOT perpustakaan standard. Ia mencadangkan bahawa pakej tidak dipasang atau terletak di luar perpustakaan standard.

Penyelesaian:

  1. Konfigurasikan Pembolehubah Persekitaran:

    • Pastikan pembolehubah persekitaran GO111MODULE ditetapkan kepada "hidup" untuk mendayakan sokongan modul.
    • Tetapkan pembolehubah persekitaran GOPATH kepada direktori di luar GOROOT.
    • Tambahkan kedua-dua GOPATH/bin dan GOROOT/bin pada pembolehubah persekitaran PATH.

    Sebagai contoh, anda boleh menambah baris ini pada .bashrc anda fail:

    export GO111MODULE=on
    export GOPATH=/mnt/sda1/programming/gopath
    export PATH=$PATH:$GOPATH/bin
    
    export GOROOT=/usr/local/go
    export PATH=$PATH:$GOROOT/bin
  2. Muat Pembolehubah Persekitaran:

    • Muat semula pembolehubah persekitaran dengan menjalankan sumber ~/.bashrc.
  3. Memulakan Utama Pakej:

    • Buat direktori baharu untuk projek utama dan mulakan modul dengan go mod init main.
  4. Cipta Pakej Luaran:

    • Buat direktori berasingan untuk luaran pakej.
    • Dalam direktori pakej luaran, cipta sebarang fail yang diperlukan dengan penyataan pakej1 pakej dalam baris pertama.
  5. Import Pakej Luaran:

    • Dalam fail Go utama (main.go), import pakej luaran menggunakan laluannya berbanding dengan pakej utama direktori. Contohnya:
    import "main/package1"

Dengan mengikuti langkah ini, anda boleh memastikan bahawa pengkompil Go anda boleh mencari dan menggunakan pakej luaran, menyelesaikan "pakej pakej1 tiada dalam GOROOT " ralat.

Atas ialah kandungan terperinci Mengapa Pengkompil Go Saya Tidak Dapat Menemui Pakej Luaran Saya?. 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