ホームページ  >  記事  >  バックエンド開発  >  はい、何もしないよりはマシです: Go 依存関係管理ツールの開発

はい、何もしないよりはマシです: Go 依存関係管理ツールの開発

Go语言进阶学习
Go语言进阶学习転載
2023-07-21 13:13:461330ブラウズ

はい、何もしないよりはマシです: Go 依存関係管理ツールの開発

「この記事を読むのに必要な時間は約 3.4 分です」

Golang の初期に多くの開発者によって批判された問題の 1 つは、依存パッケージの管理でした。 Golang 1.5 リリースがリリースされる前は、この問題は複数の GOPATH を設定することによってのみ解決できました。例: 私のプロジェクトは両方とも Beego に依存していましたが、プロジェクト A は

#Beego1.1 に依存していました。 <span style="color: rgb(217, 72, 99);">,</span> プロジェクト B は Beego1.7<span style="color: rgb(217, 72, 99);">,</span> に依存しています。セットアップする必要がありますそれらを区別するために 2 つの GOPATH が必要であり、プロジェクトを切り替えるときにも GOPATH を切り替える必要があり、非常に面倒です。ついに、Golang 1.5 リリースでは、GOROOT と GOPATH 以外の依存関係クエリ (vender<span style="color: rgb(217, 72, 99);">) がサポートされるようになったので、多くの偉い人たちがホイールを作り始めましょう。より良いのは </span>dep<span style="color: rgb(217, 72, 99);"> と </span>glide です。 。 <span style="color: rgb(217, 72, 99);"></span>主人公の登場

今日の主役は、Golang の公式依存関係である

dep です。ツール, プロジェクトの依存関係を管理およびダウンロードするために使用されるツールです。以下は公式の紹介です#dep は Go 用のプロトタイプの依存関係管理ツールです。コンパイルするには Go 1.9 以降が必要です。dep は、Go 用のプロトタイプの依存関係管理ツールです。運用環境での使用には安全です。

install

MacOS

  • brew install dep <span style="color: rgb(217, 72, 99);"></span>Linux

  • curl https://raw.githubusercontent.com/golang/dep/master /install.sh | sh<span style="color: rgb(217, 72, 99);"></span>#Windows

  • go get -u github.com / golang/dep/cmd/dep

    Windows は自分でコンパイルし、$GOPATH/bin

    であることを確認する必要があります。

    環境変数 $PATH に追加

検証

コマンド ラインに <span style="color: rgb(217, 72, 99);">dep</span> と入力し、車を返却すると、インストールが成功したことを示す次のプロンプトが表示されます。 #############################################特徴### #

##1.dep init

はい、何もしないよりはマシです: Go 依存関係管理ツールの開発 現在の

vender
をバックアップします。

#、

#vender ディレクトリを作成し、プロジェクト内のすべての依存パッケージをダウンロードし、## を生成します。
#Gopkg.lock および <span style="color: rgb(199, 37, 78);"></span>Gopkg.toml<span style="color: rgb(61, 69, 76);">次は2 ファイルの機能を説明すると、 </span>Gopkg.toml<span style="color: rgb(199, 37, 78);"></span> はマニフェスト ファイル です。 Gopkg.lock<span style="color: rgb(199, 37, 78);"></span># は検証記述ファイルです。 2 つのファイルが同期しなくなる可能性のあるエラーを避けるために、ファイルを変更しないようにしてください。 A マニフェスト - 現在のプロジェクトの依存関係要件を説明するファイル。dep では、これは Gopkg.toml ファイルです。A ロック - 推移的に完全で再現可能なファイルが含まれるファイル依存関係グラフの説明。dep では、これは Gopkg.lock ファイルです。<span style="color: rgb(199, 37, 78);"></span>


#2.dep ステータス

プロジェクトの依存関係の詳細情報とステータスを非常に明確に表示するために使用されます。 はい、何もしないよりはマシです: Go 依存関係管理ツールの開発


#3 .dep ensure

# すべての依存ライブラリがインストールされていることを確認してください。インストールされていない場合は、ダウンロードします。これは、依存ライブラリを段階的に更新することと同じです。

はい、何もしないよりはマシです: Go 依存関係管理ツールの開発

#4.dep に Github を追加します。 com/RoaringBitmap/roaring@^1.0.1

新しい依存ライブラリをダウンロードして追加し、マニフェスト ファイルと検証記述ファイルを段階的に更新します。 github.com/RoaringBitmap/roaring は、依存ライブラリ # のパッケージ名です。 ## 1.0.1 はライブラリのバージョン番号です。

ローカル キャッシュ

もちろん<span style="color: rgb(61, 69, 76);font-size: 16px;"></span>##dep<span style="font-size: 16px;color: rgb(199, 37, 78);"><strong></strong></span> 毎回ダウンロードされるわけではありません。動作原理は Mevan と同じです。最初にローカルの倉庫を検索します。ローカルの倉庫が見つからない場合は、ネットワーク上にダウンロードされ、地元の倉庫。 <span style="color: rgb(61, 69, 76);font-size: 16px;"></span>

$GOPATH/pkg/dep/sources

以上がはい、何もしないよりはマシです: Go 依存関係管理ツールの開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はGo语言进阶学习で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。