Inhaltsverzeichnis
一些常识
Heim häufiges Problem Gibt es abhängige Pakete in der Go-Sprache?

Gibt es abhängige Pakete in der Go-Sprache?

Apr 17, 2023 pm 04:14 PM
go 语言 golang编程

Es gibt abhängige Pakete in der Go-Sprache. Die Methoden zum Installieren abhängiger Pakete sind: 1. Verwenden Sie den Befehl „go get“, um die abhängigen Pakete zu installieren. 2. Aktivieren Sie „go mod“ und verwenden Sie dann „go get“. um es in das Projektverzeichnis zu ziehen. 3. Laden Sie das abhängige Paket manuell in das entsprechende Verzeichnis herunter. 4. Kopieren Sie das entsprechende Paket unter „GOPATH/pkg/mod“. Projekt und verwenden Sie dann „Go Tidy“, um die Paketabhängigkeiten automatisch anzupassen.

Gibt es abhängige Pakete in der Go-Sprache?

Das Betriebssystem dieses Tutorials: Windows 10-System, go1.20-Version, Dell G3-Computer in der Go-Sprache

Obwohl es in Go jetzt bessere gibt, habe ich aus unbeschreiblichen Gründen immer noch viele Probleme bei der Installation von Abhängigkeiten. 1. Direktes Go get

Vom ersten Tag an, an dem Sie mit den Paketabhängigkeiten von go in Kontakt kommen, wird Ihnen Ihr Lehrer oder die von Ihnen gelesenen Informationen sagen: direkt go get

. Dies ist die originellste Installationsmethode, die das Abhängigkeitsproblem der meisten Pakete lösen kann

Bei der Installation ist sie jedoch nicht zu 100 % erfolgreich Screenshot oben: golang.org/x/crypto/ssh Gibt es abhängige Pakete in der Go-Sprache?

Direkt go get, möglicherweise nicht aus unbeschreiblichen Gründen nicht zugänglich sein, kann das Paket nicht erfolgreich installiert werden

2. Konfigurieren Sie GOPROXY

go modcode> wurde in go 1.11 neu hinzugefügt. Funktionen

Solange die go-Version älter als 1.11 ist, wird sie mit der Paketverwaltung go mod geliefert

Das ist eine gute Sache, wenn go mod aktiviert ist go get

这是最原始的安装方式,能解决大部分包的依赖问题。

但不是100% 都能安装成功,比如上面截图里面的包:golang.org/x/crypto/ssh

直接go get,可能会因为不可描述的原因无法访问到golang.org这个网址,包就无法安装成功。

二、配置 GOPROXY

go mod是go 1.11 新加的特性。

所以只要go版本大于 1.11,就自带了go mod包管理。

这是一个好东西,如果开启了go mod

项目里面初始化了go mod,再在工程目录下面使用go get拉包会自动使用go mod拉包,并整理到go.mod文件里。

但是默认使用的源是国外的,所以安装依赖包一般都很慢,或者不能成功。

所以需要设置下他们的代理,让他们从国内的服务器出去,这样速度和稳定性都能更好些。

如果使用的是goland可以command+,唤出偏好设置,在里面设置代理:

Gibt es abhängige Pakete in der Go-Sprache?

推荐代理到https://goproxy.cn这个上,七牛云家的,一直使用,很稳定。

修改好后,记得重新开终端!

如果使用的是其他IDE或者命令行,自行百度怎么设置代理。

设置完成后使用go env能看到当前go使用到的环境变量,可以用来检查配置是否OK。

三、使用github

如果上面两步操作后都还不能安装成功,就得使用非正常手段来安装依赖了。

包的引用情况

首先需要理解go本地的包是怎么存放,怎么引用的。

  • 如果是传统的go get下载的依赖包会存放在GOPATH/src/域名/包名 下面。
  • 如果是使用的go mod下载的依赖包会存放在GOPATH/pkg/mod/域名/包名@版本号 下面。

所以可以把包手动下载放到对应的目录下面即可。

手动下载包

对于github国内并不是完全不能访问,只是可能会比较慢,或者时常打不开,此时可以碰碰运气。

官方包都可以在这个仓库下面找到:github.com/golang

如何安装在每个包的README.md里面都会有描述:

The easiest way to install is to run go get -u http://golang.org/x/net. You can also manually git clone the repository to $GOPATH/src/http://golang.org/x/net.

大部分的依赖包都能在github里面找到对应包。

四、利用人脉

沿用上一种方案的思路,不是所有人都不能科学上网,可以寻求身边能科学上网的朋友,帮你下载包给你。

然后把GOPATH/pkg/mod

go mod im Projekt initialisieren code> und dann <code> im Projektverzeichnis verwenden, wird automatisch <code>go mod verwendet, um das Paket abzurufen und in der Datei go.mod zu organisieren

Aber es wird die Standardquelle verwendet, daher ist die Installation abhängiger Pakete normalerweise langsam oder erfolglos 🎜

Sie müssen also ihren Proxy einrichten Lassen Sie sie vom heimischen Server ausgehen, damit die Geschwindigkeit und Stabilität verbessert werden könnte. 🎜

Wenn Sie Goland verwenden, können Sie mit Befehl+, die Einstellungen aufrufen und den Proxy darin festlegen: 🎜

🎜

Proxy für https://goproxy.cn, Qiniu Yunjia, empfohlen, ich habe ihn verwendet und er ist sehr stabil. 🎜

🎜Denken Sie nach der Änderung daran, das Terminal erneut zu öffnen! 🎜🎜

Wenn Sie eine andere IDE oder Befehlszeile verwenden, können Sie erfahren, wie Sie den Proxy auf Baidu einrichten. 🎜

Verwenden Sie nach der Einrichtung go env, um die derzeit von go verwendeten Umgebungsvariablen anzuzeigen, mit denen Sie überprüfen können, ob die Konfiguration in Ordnung ist. 🎜

🎜3. Verwenden Sie github🎜🎜

Wenn die Installation nach den beiden oben genannten Schritten nicht erfolgreich sein kann, müssen Sie ungewöhnliche Mittel verwenden, um Abhängigkeiten zu installieren. . 🎜

🎜Paketreferenzsituation🎜🎜

Zunächst müssen Sie verstehen, wie lokale Pakete gespeichert werden und wie man sie referenziert. 🎜

  • Wenn es sich um ein herkömmliches Go-Download-Abhängigkeitspaket handelt, wird es unter GOPATH/src/domain name/package name gespeichert.
  • Wenn Sie go mod verwenden, wird das heruntergeladene Abhängigkeitspaket unter GOPATH/pkg/mod/domain name/package name@version number gespeichert.

Sie können das Paket also manuell herunterladen und im entsprechenden Verzeichnis ablegen. 🎜

🎜Laden Sie das Paket manuell herunter🎜🎜

Es ist für Github in China nicht völlig unzugänglich, aber es kann langsamer sein oder oft nicht geöffnet werden. Zu diesem Zeitpunkt können Sie Ihr Glück versuchen. 🎜

Offizielle Pakete finden Sie in diesem Warehouse: github.com/golang 🎜

Wie die Installation erfolgt, wird in der README.md jedes Pakets beschrieben: 🎜

Der einfachste Weg zur Installation besteht darin, go get -u http://golang.org/x/net auszuführen. Sie können das Repository auch manuell nach $GOPATH/src/http://golang.org klonen /x/net.🎜

Die meisten abhängigen Pakete sind in Github zu finden. 🎜

🎜4. Nutzen Sie Verbindungen 🎜🎜

Nicht jeder kann wissenschaftlich im Internet surfen Freunde in Ihrer Nähe, die wissenschaftlich im Internet surfen können, helfen Ihnen, das Paket für Sie herunterzuladen. 🎜

Dann kopieren Sie das entsprechende Paket unten GOPATH/pkg/mod. 🎜

5. Verwenden Sie go mod

Das letzte Szenario besteht darin, den Paketnamen zu kennen und einige Beispieldemos über die Dokumentation zu erhalten.

Fügen Sie den Code direkt in das Projekt ein und verwenden Sie dann go Tidy, um Paketabhängigkeiten automatisch zu organisieren. go tidy来自动规整包依赖。

一些常识

  • 1、包名就是仓库地址

比如:github.com/gin-gonic/gin

报名大都是代码所在仓库地址,大都是可以直接访问的。

  • 2、包里面的包

依赖包有一个非常好玩的地方,有时使用的包是包里面的包。

可能有点绕,但是很好理解。

比如文章开头的:golang.org/x/crypto/ssh这个包,

他就是 golang.org/x/crypto

Ein bisschen gesunder Menschenverstand

  • 1 Der Paketname ist die Lageradresse#🎜 🎜#

Zum Beispiel: github.com/gin-gonic/gin#🎜🎜#

Anmelden Bei den meisten davon handelt es sich um die Adresse des Lagers, in dem sich der Code befindet, und auf die meisten kann direkt zugegriffen werden. #🎜🎜#

  • #🎜🎜#2 Das Paket im Paket #🎜🎜#

Abhängigkeiten Es gibt eine sehr interessante Sache bei Taschen: Manchmal ist die verwendete Tasche die Tasche in der Tasche. #🎜🎜#

Es mag etwas kompliziert sein, aber es ist leicht zu verstehen. #🎜🎜#

Zum Beispiel das Paket am Anfang des Artikels: golang.org/x/crypto/ssh, #🎜🎜#

Er ist das Paket unten golang.org/x/crypto. #🎜🎜##🎜🎜#Wenn Sie also das SSH-Paket direkt installieren, wird das Paket oft nicht gefunden, sodass Sie es auf der oberen Ebene installieren müssen. #🎜🎜#

Das obige ist der detaillierte Inhalt vonGibt es abhängige Pakete in der Go-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erfahren Sie, wie Sie die Varianz in Go berechnen Erfahren Sie, wie Sie die Varianz in Go berechnen Feb 23, 2024 pm 09:30 PM

Erfahren Sie, wie Sie in Golang nach Varianz suchen. In der Statistik ist die Varianz ein wichtiger Indikator für die Streuung eines Datensatzes. Sie wird verwendet, um die Differenz zwischen jedem Datenpunkt im Datensatz und dem Mittelwert zu messen. In Golang können wir die Varianz eines Datensatzes ermitteln, indem wir Code schreiben. Als Nächstes stellen wir die Implementierung der Varianzberechnung in Golang vor und stellen spezifische Codebeispiele bereit. 1. Definition der Varianz Die Berechnungsformel der Varianz lautet wie folgt: [Var(X)=rac{

Wie verwende ich Pakete von Drittanbietern in der Go-Sprache? Wie verwende ich Pakete von Drittanbietern in der Go-Sprache? Jun 01, 2024 am 11:39 AM

So verwenden Sie Pakete von Drittanbietern in Go: Verwenden Sie den Befehl goget, um das Paket zu installieren, z. B.: gogetgithub.com/user/package. Importieren Sie das Paket, z. B.: import("github.com/user/package"). Beispiel: Verwenden Sie das Paket „encoding/json“ zum Parsen von JSON-Daten: Installation: gogetencoding/json Import: import("encoding/json") Parsing: json.Unmarshal([]byte(jsonString),&data)

Go-Sprache: eine leistungsstarke und flexible Skriptsprache Go-Sprache: eine leistungsstarke und flexible Skriptsprache Apr 08, 2024 am 09:57 AM

Die Go-Sprache ist eine moderne Open-Source-Programmiersprache, die für ihre Parallelitätsunterstützung, Speichersicherheit und plattformübergreifende Kompatibilität bekannt ist. Es handelt sich außerdem um eine hervorragende Skriptsprache, die zahlreiche integrierte Funktionen und Dienstprogramme bietet, darunter: Parallelitätsunterstützung: Vereinfacht die Skripterstellung, um mehrere Aufgaben gleichzeitig auszuführen. Speichersicherheit: Der Garbage Collector gibt ungenutzten Speicher automatisch frei, um Speicherlecks zu verhindern. Plattformübergreifende Kompatibilität: Kann auf Windows-, Linux-, macOS- und mobilen Plattformen kompiliert werden. Umfangreiche Standardbibliothek: Bietet allgemeine Skriptfunktionen wie Datei-E/A, Netzwerkanforderungen und reguläre Ausdrücke.

Go Language Ecosystem: Ein Blick auf die Top-Bibliotheken Go Language Ecosystem: Ein Blick auf die Top-Bibliotheken Apr 08, 2024 pm 06:51 PM

Das Go-Sprachökosystem bietet eine umfangreiche und leistungsstarke Bibliothek, darunter: Gin (ein Framework zum Erstellen von Webanwendungen), Gorm (ein ORM zur Verwaltung von Datenbankinteraktionen), Zap (zur Hochleistungsprotokollierung), Viper (zur Verwaltung der Anwendungskonfiguration), Prometheus (zur Überwachung). und Warnungen) Diese Bibliotheken helfen Entwicklern, schnell und effizient robuste und wartbare Go-Anwendungen zu erstellen.

Wie definiere und verwende ich benutzerdefinierte Typen mit der Go-Sprache? Wie definiere und verwende ich benutzerdefinierte Typen mit der Go-Sprache? Jun 05, 2024 pm 12:41 PM

In Go können benutzerdefinierte Typen mithilfe des Typschlüsselworts (struct) definiert werden und benannte Felder enthalten. Auf sie kann über Feldzugriffsoperatoren zugegriffen werden und es können Methoden zur Manipulation des Instanzstatus angehängt werden. In praktischen Anwendungen werden benutzerdefinierte Typen verwendet, um komplexe Daten zu organisieren und Vorgänge zu vereinfachen. Beispielsweise verwendet das Studentenverwaltungssystem den benutzerdefinierten Typ „Student“, um Studenteninformationen zu speichern und Methoden zur Berechnung von Durchschnittsnoten und Anwesenheitsquoten bereitzustellen.

Anwendung der Go-Sprache im Android-System Anwendung der Go-Sprache im Android-System Apr 08, 2024 am 11:36 AM

Die Go-Sprache ist im Android-System weit verbreitet und kann zum Erstellen von AndroidActivities und Services für die Datenverarbeitung und -analyse verwendet werden, einschließlich: Verwendung der Go-Sprache in AndroidActivity: Einführung der Go-Sprachbibliothek, Erstellen von Go-Sprachklassen und im AndroidManifest .xml-Datei Registrieren Sie die Go-Sprachklasse. Verwenden Sie die Go-Sprache in AndroidService: Erstellen Sie eine Go-Sprachklasse und registrieren Sie die Go-Sprachklasse in der Datei AndroidManifest.xml. Verwenden Sie die Go-Sprache für die Datenverarbeitung und -analyse: Sie kann zum Erstellen einer HTTP-API, für gleichzeitige Verarbeitungsaufgaben sowie zum Kodieren und Dekodieren von Binärdaten verwendet werden.

Wie teste ich Pakete in Go? Wie teste ich Pakete in Go? Jun 01, 2024 am 11:50 AM

Mithilfe des integrierten Testframeworks der Go-Sprache können Entwickler problemlos Tests für ihren Code schreiben und ausführen. Die Testdatei endet mit _test.go und enthält die Testfunktion beginnend mit Test, wobei der Parameter *testing.T die Testinstanz darstellt. Fehlerinformationen werden mit t.Error() protokolliert. Tests können durch Ausführen des Befehls gotest ausgeführt werden. Untertests ermöglichen die Zerlegung von Testfunktionen in kleinere Teile und die Erstellung über t.Run(). Der praktische Fall umfasst eine Testdatei, die für die Funktion IsStringPalindrome() im Paket utils geschrieben wurde und eine Reihe von Eingabezeichenfolgen und erwarteten Ausgaben verwendet, um die Korrektheit der Funktion zu testen.

Gibt es abhängige Pakete in der Go-Sprache? Gibt es abhängige Pakete in der Go-Sprache? Apr 17, 2023 pm 04:14 PM

Es gibt abhängige Pakete in der Go-Sprache. Die Methoden zum Installieren abhängiger Pakete sind: 1. Verwenden Sie den Befehl „go get“, um die abhängigen Pakete zu installieren. 2. Aktivieren Sie „go mod“ und verwenden Sie dann „go get“, um sie abzurufen 3. Laden Sie das Abhängigkeitspaket manuell in das entsprechende Verzeichnis herunter. 4. Kopieren Sie das entsprechende Paket unter „GOPATH/pkg/mod“. 5. Fügen Sie den Code direkt in das Projekt ein Verwenden Sie dann „Go Tidy“, um die Paketabhängigkeiten automatisch zu organisieren. Das war's.