溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

go module是如何使用本地包的

發(fā)布時(shí)間:2021-11-27 13:49:46 來源:億速云 閱讀:215 作者:小新 欄目:編程語言

小編給大家分享一下go module是如何使用本地包的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

go module的使用非常簡(jiǎn)單

  1. 初始化go.mod

    go mod init
  2. 整理依賴包

    go mod tidy
  3. 如果想緩存到vendor目錄

    go mod vendor

執(zhí)行命令之后都會(huì)自動(dòng)把依賴搞定.  
但是, 如果我們是本地開發(fā)的包, 還沒有遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候, 要怎么解決本地包依賴問題呢?

使用replace將遠(yuǎn)程包替換為本地包服務(wù)

幸運(yùn)的是, go module 提供了另外一個(gè)方案, replace, 這個(gè)replace怎么使用的呢?  
我們先看一下一個(gè)最基本的mod文件

module GoRoomDemo

go 1.12

require (
    github.com/gin-gonic/gin v1.3.0
    github.com/gohouse/goroom v0.0.0-20190327052827-9ab674039336
    github.com/golang/protobuf v1.3.1 // indirect
    github.com/gomodule/redigo v2.0.0+incompatible
    github.com/mattn/go-sqlite3 v1.10.0
    github.com/stretchr/testify v1.3.0 // indirect
    golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 // indirect
)

這是一個(gè)簡(jiǎn)單的GoRoom框架的依賴關(guān)系包, 如果我想使用本地的goroom, 只需要使用replace即可

module GoRoomDemo

go 1.12

require (
    github.com/gin-gonic/gin v1.3.0
    github.com/gohouse/goroom v0.0.0-20190327052827-9ab674039336
    github.com/golang/protobuf v1.3.1 // indirect
    github.com/gomodule/redigo v2.0.0+incompatible
    github.com/mattn/go-sqlite3 v1.10.0
    github.com/stretchr/testify v1.3.0 // indirect
    golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 // indirect
)

replace github.com/gohouse/goroom => /path/to/go/src/github.com/gohouse/goroom
這里的 path/to/go/src/github.com/gohouse/goroom 是本地的包路徑

這樣, 我們就可以愉快的使用本地目錄了。

以上是“go module是如何使用本地包的”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI