গেট গেটের সাথে "অচেনা আমদানি পথ"


93

আমি একটি ইনস্টল করার চেষ্টা করছি web.go, কিন্তু চলমান go get github.com/hoisie/webরিটার্ন

package bufio: unrecognized import path "bufio"
package bytes: unrecognized import path "bytes"
package crypto/rand: unrecognized import path "crypto/rand"
package crypto/sha1: unrecognized import path "crypto/sha1"
package crypto/tls: unrecognized import path "crypto/tls"
package encoding/base64: unrecognized import path "encoding/base64"
package encoding/binary: unrecognized import path "encoding/binary"
package encoding/json: unrecognized import path "encoding/json"
package errors: unrecognized import path "errors"
package fmt: unrecognized import path "fmt"

এবং এটি অন্য কিছু না ফেরার আগে বিভিন্ন প্যাকেজ সহ কিছু সময়ের জন্য অবিরত থাকে। go envআমাকে দেয়:

GOARCH="amd64"
GOBIN="/usr/local/go/bin"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/home/me/go"
GOTOOLDIR="/home/me/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"

আমি কীভাবে ইনস্টল করতে পারি web.go? গিথুব পৃষ্ঠায় README তে যা রয়েছে তা go get(পরিবর্তে go install) ব্যবহার করা । আমার গো সংস্করণটি go version go1.2 linux/amd64


4
GOROOT রফতানি করা হয়েছে তবে গোপথ নেই? গুরট গবিনের থেকে আলাদা? আপনি কীভাবে ইনস্টল করলেন? আপনি কীভাবে আপনার পরিবেশ স্থাপন করলেন?
ভোলকার

আমি golang.org/doc/install পৃষ্ঠা অনুসরণ করে গো ইনস্টল করেছি । গোপথের জন্য কী রাখব তা নিশ্চিত ছিলাম না।
q3d

উত্তর:


102

সমস্যাগুলি একটি অবৈধ সম্পর্কিত GOROOT

আমি মনে করি আপনি ভিতরে যান /usr/local/go
সুতরাং আপনার GOROOTমানটির মান পরিবর্তন করুন /usr/local/go/bin

দেখে মনে হচ্ছে আপনি নিজের ওয়ার্কস্পেস (GOPATH) এ থাকা চাইছিলেন /home/me/go

এটি আপনার সমস্যার সমাধান করতে পারে।
আপনার বাশ প্রোফাইলের নীচে এটি যুক্ত করুন = এখানে অবস্থিত$HOME/.profile

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin

পুরানো উল্লেখগুলি মুছে ফেলার বিষয়ে নিশ্চিত হন GOROOT

তারপরে আবার ওয়েব.গো ইনস্টল করার চেষ্টা করুন।

যদি এটি কাজ না করে তবে উবুন্টু আপনার জন্য গো ইনস্টল করুন।

sudo apt-get install golang

ভিডিও টিউটোরিয়াল: http://www.youtube.com/watch?v=2PATwIfO5ag


16
আপনার প্রায় কখনও GOROOT সেট করা উচিত নয়। আপনার পথের ঘোষণাটি / ইউএসআর / স্থানীয় / গো / বিনকে আঘাত করে না। এছাড়াও, খেয়াল করা উচিত যে উবুন্টু প্যাকেজগুলি সরকারী প্রকাশের কিছুটা পিছনে, যা 1.2।
জিমবি

4
আমি যখন সরকারী সাইট থেকে গো ইনস্টলের নির্দেশাবলী অনুসরণ করেছি (টার ফাইল থেকে / ইউএসআর / স্থানীয় মধ্যে ইনস্টল করুন) আমি উপরের ত্রুটিটি পরিবর্তন করেছি যতক্ষণ না আমি উপরের হিসাবে গুরোট পরিবর্তন করেছি।
ড্র হয়েছে

4
ফেডোরা 20 এ সবেমাত্র তাজা গোলং 1.3 ইনস্টল করা হয়েছে এবং go getএকই ত্রুটি দেয়। GOROOTসেট করা আছে /usr, নিজেই / usr এ ইনস্টল করুন, / usr / স্থানীয় নয়। সেট GOPATHকরুন $HOME/go। আর কোন ধারণা যাচাই করতে হবে?
Dfr

15
আমার জবাব: আনসেট করা GOROOTসমস্যা স্থির করে বলে মনে হচ্ছে।
Dfr

4
GOROOT সেট না করার জন্য +1। আমি এটিকে আনসেট করেছি, নিশ্চিত করেছি যে এটির সাথে এটি আনসেট ছিল এবং echo $GOROOTতা পরীক্ষা করে দেখুন যে এটি এখনও যে এনভির সাথে হয়েছিল তা জিও এখনও আছে go envএবং এটি /usr/local/goযেখানে আমি ইনস্টল করেছি সেখানে ছিল (সুতরাং এটি কোনও
অবস্থাতেই

37

আমি brewওএসএক্স 10.11 এ গো সাথে ইনস্টল করেছি এবং আমি খুঁজে পেয়েছি যে GOROOT:

/usr/local/Cellar/go/1.5.1/libexec

(অবশ্যই আপনার যে গো সংস্করণ রয়েছে তার সাথে এই পথে সংস্করণটি প্রতিস্থাপন করুন)

মিশ্রণ সিমলিংক ব্যবহার করে, যা গোটুলকে বোকা বানাচ্ছিল। সুতরাং হোম লিঙ্কগুলি অনুসরণ করুন।


আহ, শেষ পর্যন্ত, আমি এমন কিছু খুঁজে পেয়েছি যা কাজ করে। ধন্যবাদ এরিক!
মীর আদনান

23

ওবুন্টু 14.04-এ পুরানো গো সংস্করণ (পুরানো পিপিএ থেকে ইনস্টল করা) থেকে নতুন (1.2.1) ডিফল্ট প্যাকেজগুলিতে স্থানান্তরিত করার পরে আমার ঠিক একই সমস্যা ছিল।

প্রথম পদক্ষেপটি ছিল বিদ্যমান গোপনীয়তা রক্ষা করা:

sudo apt-get purge golang*

সতর্কতা অনুসরণ করে কোন ফলাফল:

dpkg: warning: while removing golang-go, directory '/usr/lib/go/src' not empty so not removed
dpkg: warning: while removing golang-go.tools, directory '/usr/lib/go' not empty so not removed

দেখে মনে হচ্ছে কিছুটা সরানোর ফলে কিছু ফাইল পিছনে চলে যায় যা ফলস্বরূপ আরও নতুন ইনস্টলকে বিভ্রান্ত করতে পারে। আরও স্পষ্টভাবে, ইনস্টলেশন নিজেই জরিমানা সম্পূর্ণ করবে, তবে পরে কোনও গো কমান্ড যেমন "কিছু পেতে যাও" those "অচেনা আমদানি পথ" ত্রুটি দেয়।

আমাকে যা করতে হয়েছিল তা হ'ল প্রথমে সেই ডায়ারগুলি সরিয়ে ফেলা, গোলং পুনরায় ইনস্টল করা এবং সমস্ত কমনীয়তার মতো কাজ করা (ধরে নিই যে আপনিও গোপ্যাথ সেট করেছেন)

# careful!
sudo rm -rf /usr/lib/go /usr/lib/go/src
sudo apt-get install golang-go golang-go.tools

আমাকেও সরিয়ে ফেলতে হয়েছিল/usr/local/go/
নাতিম

এছাড়াও / usr / বিন / যেতে অপসারণ করতে হয়েছিল।
ইটোনফিল

6

কারণ GFW আপনাকে golang.org অ্যাক্সেস করতে নিষেধ করেছে! এবং আমি যখন প্রক্সি ব্যবহার করি তখন এটি ভাল কাজ করতে পারে।

আপনি কমান্ড ব্যবহার করে তথ্যটি দেখতে পারেন go get -v -u golang.org/x/oauth2


4
আমি চিনে থাকাকালীন আমার ঠিক এটাই সমস্যা। Setting http_proxy সেট করার পরে, আমি ত্রুটি ছাড়াই প্যাকেজটি ইনস্টল করতে পারি।
অ্যাশেন

4
কেবল অবরুদ্ধই নয়, ডিএনএসও দূষিত। প্রথমে http://ping.eu/nslookup/ডোমেনের সঠিক আইপিটি অনুসন্ধান করতে যান, এটি হোস্ট ফাইলে সেট করুন, তারপরে ডাউনলোডের জন্য একটি প্রক্সি ব্যবহার করুন। export http_proxy=127.0.0.1:1080 https_proxy=127.0.0.1:1080 কখনও কখনও আপনি কেবল
সরকারকে

5

$ unset GOROOTআমার জন্য কাজ। বেশিরভাগ উত্তরগুলির হিসাবে আপনার GOROOT অবৈধ suggest


2

MacOS 10.10 এ আমার একই সমস্যা ছিল। এবং আমি খুঁজে পেয়েছি যে OhMyZsh শেল দ্বারা সমস্যা caused তারপরে আমি ব্যাশে ফিরে এসেছি সবকিছু ঠিকঠাক হয়ে গেছে।

এখানে আমার goর্ষা

bash-3.2$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/bis/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1

এটা কি go envএটা কাজ থেকে, যখন না অথবা যখন তা? এটি সম্ভবত "[অন্যান্য শেল] দ্বারা সৃষ্ট নয়", বরং এটি সম্ভবত GOPATHঅন্যান্য শেলটিতে সঠিকভাবে সেট করতে ব্যর্থ হয়েছিল । শেলের csh এবং zsh পরিবার একই স্টার্টআপ ফাইলগুলি ব্যবহার করে না (যেমন নেই ~/.profile)। নির্দিষ্ট zshব্যবহার $ZDOTDIR/.zshenvএবং $ZDOTDIR/.zprofile(যেখানে $ZDOTDIRডিফল্ট $HOME)।
ডেভ সি


0

Go1.2 এ Go1.4 এ আপগ্রেড করার পরে আমার একই সমস্যা ছিল।

আমি আমার GOPATH তে এসআরসি'র নাম পরিবর্তন করে এরপরে একটি করেছিলাম go get -v

এটি কাজ করে তখন আমি _src মুছে ফেললাম।

আশা করি এটা সাহায্য করবে.


0

অন্য একটি প্যাকেজ ইনস্টল করার সময় আমি এই সমস্যার মুখোমুখি হয়েছি এবং এটি আপনার প্যাথের গুরট এবং গোপথ কনফিগারেশনের কারণে হতে পারে। আমি গুরট সেট করতে চাইছি না কারণ আমার ওএস এক্স ইনস্টলেশনটি আমার জন্য এটি পরিচালনা করেছে (আমি বিশ্বাস করি)।

  1. আপনার। প্রোফাইলে নিম্নলিখিত বিষয়গুলি নিশ্চিত করুন (বা যেখানেই আপনি প্রোফাইল কনফিগারেশন সঞ্চয় করেন: .bash_profile, .zshrc, .bashrc, ইত্যাদি):

    export GOPATH=$HOME/go
    export PATH=$PATH:$GOROOT/bin
    
  2. এছাড়াও, আপনি সম্ভবত unset GOROOTএটিও চান , যদি সেই পথটিও ভুল হয়।

  3. তদ্ব্যতীত, গোপথ কার্যভারের ঠিক আগে যেমন আমি নীচে যা করেছি ঠিক তেমনই আপনার পাথ পরিষ্কার করতে ভুলবেন না:

    export PATH=$HOME/bin:/usr/local/bin:$PATH
    export GOPATH=$HOME/go
    export PATH=$PATH:$GOROOT/bin
    
  4. তারপরে, source <.profile>সক্রিয় করতে

  5. পুনরায় চেষ্টা করা go get
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.