Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Saya Tidak Boleh Mengimport Pakej daripada Direktori Vendor Saya dalam Go 1.6?

Mengapa Saya Tidak Boleh Mengimport Pakej daripada Direktori Vendor Saya dalam Go 1.6?

Barbara Streisand
Barbara Streisandasal
2024-10-28 21:55:30749semak imbas

Why Can't I Import Packages from My Vendor Directory in Go 1.6?

Penjualan dalam Go 1.6: Menyelesaikan Masalah Isu Import

Memahami konsep vendor dalam Go 1.6 boleh mencabar. Mari kita pecahkan senario biasa dan sediakan penyelesaian untuk membantu mengimport fail menggunakan ciri vendor baharu.

Isu: Walaupun mengikuti dokumentasi dan menyelidik dalam talian, seseorang individu tidak dapat mengimport pakej menggunakan direktori vendor dalam Go 1.6.

Berikut ialah contoh struktur projek:

.
└── src
    ├── main.go
    └── vendor
        └── github.com
            └── zenazn
                └── goji
                    ├── ...

Dan satu-satunya fail dalam projek, main.go:

<code class="go">import (
    "github.com/zenazn/goji"
    "github.com/zenazn/goji/web"
)</code>

Pembolehubah Persekitaran:

<code class="Bash">export GOPATH=~/.go
export GOBIN=$GOPATH/bin
export PATH=$PATH:/usr/local/opt/go/libexec/bin:$GOBIN</code>

Percubaan Membina Perintah:

  • go run ./src/main.go
  • go build ./src/main.go

Penyelesaian:

Untuk menyelesaikan masalah ini, amat penting untuk memahami cara alat Go mengendalikan kod sumber dan GOPATH . Untuk membina program Go:

  1. Buat direktori di bawah $GOPATH/src, cth., mkdir $GOPATH/src/myprogram.
  2. Letakkan semua kod sumber (termasuk direktori vendor) di sana: $GOPATH/src/myprogram/main.go, $GOPATH/src/myprogram/vendor.
  3. Jalankan go install myprogram untuk menyusun aplikasi dan letakkan binari myprogram yang terhasil dalam $GOPATH/bin/myprogram.

Rujuk dokumentasi rasmi di https://golang.org/doc/code.html untuk pemahaman menyeluruh tentang konsep ini.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mengimport Pakej daripada Direktori Vendor Saya dalam Go 1.6?. 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