Rumah >pembangunan bahagian belakang >Golang >Apakah yang dimaksudkan dengan simbol anak panah ' =>' dalam output versi go -m?

Apakah yang dimaksudkan dengan simbol anak panah ' =>' dalam output versi go -m?

PHPz
PHPzke hadapan
2024-02-09 10:03:291091semak imbas

go version -m 输出中的箭头符号“=>

editor php Strawberry di sini untuk menjawab soalan tentang bahasa Go: apabila menjalankan arahan `go version -m`, apakah maksud simbol anak panah "=>" dalam output Apa itu? Simbol ini sebenarnya digunakan untuk menunjukkan kebergantungan pakej. Apabila kami menggunakan `go mod` untuk pengurusan pakej, simbol anak panah akan menunjukkan kebergantungan antara modul, menunjukkan bahawa satu modul bergantung pada modul lain. Melalui simbol ini, kami dapat memahami dengan jelas hubungan antara setiap modul, yang memudahkan pengurusan pakej dan penyahpepijatan.

Kandungan soalan

Saya sedang menghuraikan CVE yang dikenal pasti oleh pelbagai pengimbas dalam projek saya, dan salah satu CVE dikaitkan dengan versi pergantungan golang.

Apabila saya berlari go version -m ./binaryfile 时,被标记为易受攻击的依赖项旁边有这个箭头符号 => , tetapi saya tidak dapat menjumpai mana-mana yang didokumenkan maksudnya.

Keluaran penuh disertakan di bawah...

$ go version -m /root/github.com/alexei-led/pumba/.bin/github.com/alexei-led/pumba
/root/github.com/alexei-led/pumba/.bin/github.com/alexei-led/pumba: go1.19.4
        path    command-line-arguments
        dep     github.com/alexei-led/pumba     (devel)
        dep     github.com/cpuguy83/go-md2man/v2        v2.0.0-20190314233015-f79a8a8ca69d      h1:u+s90utsygptzmwqh2arr3luazljia+pg3kc1ylsyvy=
        dep     github.com/davecgh/go-spew      v1.1.1  h1:vj9j/u1bqnvcefjowuhtloarqs3+rkhyy13jywtu97c=
        dep     github.com/docker/distribution  v2.7.1+incompatible     h1:a5mlkvzth6w5a4foss3d2eo5bumsjpcb+crllu7csug=
        dep     github.com/docker/docker        v1.13.1
        =>      github.com/docker/engine        v17.12.0-ce-rc1.0.20190717161051-705d9623b7c1+incompatible      h1:4pnn+rsurveibbmqlrtzh77hlmip4naaqrhook4apj8=

        dep     github.com/docker/go-connections        v0.4.0  h1:el9xviselrb7bufusrzozjnkim5ynzcvinkohafqrjq=
        dep     github.com/docker/go-units      v0.4.0  h1:3uh0pgvws3nia0q+mwdc8yjepf9zjrfzzwxzydct3tw=
        dep     github.com/gogo/protobuf        v1.3.2  h1:ov1cvc58uf3b5xjbnzv7+opctcqfzebyjwzi34vdm4q=
        dep     github.com/golang/protobuf      v1.4.3  h1:jjczwpvbqxdqfvmtfywevtmiyrl/npdpschpj0t/ram=
        dep     github.com/johntdyer/slack-go   v0.0.0-20180213144715-95fac1160b22      h1:jkup9tq0c7x3w6+ipymit07re42mttwnd77sn2chngq=
        dep     github.com/johntdyer/slackrus   v0.0.0-20180518184837-f7aae3243a07      h1:+kbg/8rjca6vxjzbujaie4mqmbebyc8nleb51frnvby=
        dep     github.com/opencontainers/go-digest     v1.0.0  h1:apouws51w5plhuygyz9fceebiouda/6nw8oi/yohh5u=
        dep     github.com/opencontainers/image-spec    v1.0.1  h1:jmemwkrwhx4zj+fvxwomcfm/8syggruvojfa6h/trci=
        dep     github.com/pkg/errors   v0.9.1  h1:feblx1zs214owpjy7qsbeixburkuhqawrk5uwlgtwt4=
        dep     github.com/pmezard/go-difflib   v1.0.0  h1:4dbwde0ngyqobhblqypwsupocmwr5bezik/f1lzbaqm=
        dep     github.com/russross/blackfriday/v2      v2.0.1  h1:lpqvate+huhnfhj/0lc98eswrz8afy9tm/0rk8m9o+q=
        dep     github.com/shurcool/sanitized_anchor_name       v1.0.0  h1:pdmoco6wvbs+7yrjymort4/bmy5iyyjws/koiwx8mho=
        dep     github.com/sirupsen/logrus      v1.7.0  h1:shrd1u9pzb12tx0cvy0dtepoch97k8etx+mg7zarutm=
        dep     github.com/stretchr/objx        v0.1.0  h1:4g4v2do3vzwixgiroq5lfboy6nuhcyyzaqniapphys4=
        dep     github.com/stretchr/testify     v1.6.1  h1:hdpohmpopp40lsulcqw7irrb/u7w6rpdc9399xyond0=
        dep     github.com/urfave/cli   v1.22.4 h1:u7tspnppswafymm8iehjhy4ujmluuu/gmqskvj1inxa=
        dep     golang.org/x/net        v0.0.0-20210917163549-3c21e5b27794      h1:poargvjk+mphife37zcmbwoljplramlkmvggjvlkyl8=
        dep     golang.org/x/sync       v0.0.0-20201020160332-67f06af15bc9      h1:sqfwasi55ru7vdns9yr0z324vnlrf+0wmqrxt4st8ck=
        dep     golang.org/x/sys        v0.0.0-20210616094352-59db8d763f22      h1:rqytpxgr1ivnx7psjb3ff8y7snfinvfvkx1c8sjbkio=
        dep     google.golang.org/genproto      v0.0.0-20200526211855-cb27e3aa2013      h1:+kghl1aib/qcwari1cbqbz1rk19r85mnuf8habghugy=
        dep     google.golang.org/grpc  v1.40.0 h1:agj0ih4mhjseibykfgh1dd9kj/eotz93i6hohhukq5q=
        dep     google.golang.org/protobuf      v1.25.0 h1:ejskq+sypohkw+1uil0jjmtmhcgjpj/qwtxr8qp+r4c=
        dep     gopkg.in/yaml.v3        v3.0.0-20200313102051-9f266ea9e77c      h1:duuwhk2qeco/6vqa44rthz8ie2qxmnekrthcny2nxvo=
        build   -compiler=gc
        build   -ldflags="-x main.version=0.8.0 -x main.gitcommit=0413655 -x main.gitbranch=head -x main.buildtime=2022-12-29t09:34:48-0500 "
        build   -tags=release
        build   cgo_enabled=0
        build   goarch=amd64
        build   goos=linux
        build   goamd64=v1

...garisan yang diminati ialah:

=>      github.com/docker/engine        v17.12.0-ce-rc1.0.20190717161051-705d9623b7c1+incompatible      h1:4Pnn+RsurVEiBbmqlRtzh77HLMiP4NaaqRHOOK4aPj8=

Penyelesaian

=> 表示使用 replace ArahanBina binari boleh laku.

Barisan sebelumnya juga sangat penting, iaitu modul yang diganti:

dep     github.com/docker/docker        v1.13.1
    =>      github.com/docker/engine        v17.12.0-ce-rc1.0.20190717161051-705d9623b7c1+incompatible      h1:4pnn+rsurveibbmqlrtzh77hlmip4naaqrhook4apj8=

Ini bermakna github.com/docker/docker v1.13.1 在构建过程中被 github.com/docker/engine v17.12.0-...penggantian.

Dari go.mod 文件的 replace Contoh arahan:

replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5

Ini dia => 文字的来源。将其视为所引用的 golang.org/x/net“指向” example.com/fork/net (ini yang digunakan sebenarnya).

Atas ialah kandungan terperinci Apakah yang dimaksudkan dengan simbol anak panah ' =>' dalam output versi go -m?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam