I have my GOPATH and GOROOT set, currently trying to use a package located in the vendor folder, while doing go run in my windows I get
C:\resume>go run docs/generator.go
docs\generator.go:13:2: cannot find package "github.com/tidwall/gjson" in any
of:
C:\Go\src\github.com\tidwall\gjson (from $GOROOT)
C:\resume\src\github.com\tidwall\gjson (from $GOPATH)
My GOROOT=C:\Go, GOPATH=C:\resume and PATH=C:\Go\bin
Related
Trying to compile gomuks, following its insallation instructions, I get this error:
$ go install
gomuks.go:25:2: cannot find package "maunium.net/go/gomuks/config" in any of:
/usr/lib/go-1.10/src/maunium.net/go/gomuks/config (from $GOROOT)
/home/ettinger/go/src/maunium.net/go/gomuks/config (from $GOPATH)
gomuks.go:26:2: cannot find package "maunium.net/go/gomuks/debug" in any of:
/usr/lib/go-1.10/src/maunium.net/go/gomuks/debug (from $GOROOT)
/home/ettinger/go/src/maunium.net/go/gomuks/debug (from $GOPATH)
gomuks.go:27:2: cannot find package "maunium.net/go/gomuks/interface" in any of:
/usr/lib/go-1.10/src/maunium.net/go/gomuks/interface (from $GOROOT)
/home/ettinger/go/src/maunium.net/go/gomuks/interface (from $GOPATH)
gomuks.go:28:2: cannot find package "maunium.net/go/gomuks/matrix" in any of:
/usr/lib/go-1.10/src/maunium.net/go/gomuks/matrix (from $GOROOT)
/home/ettinger/go/src/maunium.net/go/gomuks/matrix (from $GOPATH)
main.go:30:2: cannot find package "maunium.net/go/gomuks/ui" in any of:
/usr/lib/go-1.10/src/maunium.net/go/gomuks/ui (from $GOROOT)
/home/ettinger/go/src/maunium.net/go/gomuks/ui (from $GOPATH)
What is the reason, how to solve it?
This repo uses Go modules feature and installation instructions clearly state it requires Go 1.13 or higher:
Install Go 1.13 or higher
From error messages it seems you have Go 1.10 which doesn't support modules (and likely also other features this repo depends on).
This error is caused by fact that prior modules support was added to Go in version 1.11; go tool was always looking up modules in $GOROOT and $GOPATH locations - and in your case it can't find them there.
Install Go 1.13 or higher to make the installation guide work. You can find recent enough packages in backport PPA or install latest from official tarball available here.
my os is ubuntu18.04.
my go compiler is gccgo.
GOROOT is /usr/local/go
it is report as:
package testmain
imports runtime/race: cannot find package "runtime/race" in any of:
/usr/local/go/src/runtime/race (from $GOROOT)
/home/lzx/tiny_distributed_system/src/runtime/race (from $GOPATH)
I am trying to install the dependencies of my project with glidebut unfortunately it fails with the following message:
main.go:7:2: cannot find package "github.com/arschles/go-in-5-minutes/episode13/models" in any of:
/Users/theo/go-workspace/src/github.com/thitami/go-in-5-minutes/episode13/vendor/github.com/arschles/go-in-5-minutes/episode13/models (vendor tree)
/usr/local/Cellar/go/1.8.3/libexec/src/github.com/arschles/go-in-5-minutes/episode13/models (from $GOROOT)
/Users/theo/go-workspace/src/github.com/arschles/go-in-5-minutes/episode13/models (from $GOPATH)
Running a go env, this is my env variables of interest:
GOPATH="/Users/theo/go-workspace"
GOROOT="/usr/local/Cellar/go/1.8.3/libexec"
Please be advised that I am zsh and I am exporting the GOPATH inside the .zshrc file like this:
export GOPATH=HOME/go-workspace
Any ideas are appreciated
* UPDATE *
As requested this is the piece of code with the call to the models package:
import (
"database/sql"
"log"
"github.com/arschles/go-in-5-minutes/episode13/models"
_ "github.com/mxk/go-sqlite/sqlite3"
)
You can only set the gopath once and you'll have to reset it every time you change packages. Think of it as a virtualenv. One way around it is to install the packages global or by using something like gvm
I'm having trouble running the go install $(glide nv) command.
I run this command from within my project's folder within the src folder of the go workspace directoy
so basically I do :
%GOPATH%/src/my/project/ go install $(glide nv)
The error message I get is as follow :
can't load package: package $(glide: cannot find package "$(glide" in any of:
C:\Go\src\$(glide (from $GOROOT)
W:\GO_WORKSPACE\src\$(glide (from $GOPATH)
can't load package: package nv): cannot find package "nv)" in any of:
C:\Go\src\nv) (from $GOROOT)
W:\GO_WORKSPACE\src\nv) (from $GOPATH)
I had previously run glide install without a problem on that project.
What am I missing?
It works on powershell. At the project directory run command:
go install $(glide nv)
I have problems with importing a package. I want to import the "golang.org/x/tools/cmd/oracle" and the "golang.org/x/tools/oracle" package.
Which is the correct way to import these packages?
This the way I try to import the packages:
package main
import (
"fmt"
"strings"
"os"
"os/exec"
"golang.org/x/tools/oracle"
"golang.org/x/tools/cmd/oracle"
)
The both last imports leads to the following problem:
==================== Starting Go build ====================
Cleared problem markers for ProjektGO.
************ Building Go project: ProjektGO ************
with GOPATH: /home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO
>> Running: /usr/lib/go/bin/go install -v -gcflags "-N -l" ./...
file/main.go:13:2: cannot find package "golang.org/x/tools/cmd/oracle" in any of:
/usr/lib/go/src/golang.org/x/tools/cmd/oracle (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/cmd/oracle (from $GOPATH)
file/main.go:12:2: cannot find package "golang.org/x/tools/oracle" in any of:
/usr/lib/go/src/golang.org/x/tools/oracle (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/oracle (from $GOPATH)
^^^ Terminated, exit code: 1 ^^^
************ Build terminated. ************
Then I tried things like that:
package main
import (
"fmt"
"strings"
"os"
"os/exec"
"../../../../../golang.org/x/tools/cmd/oracle"
"../../../../../golang.org/x/tools/oracle"
)
And the result was this:
==================== Starting Go build ====================
************ Building Go project: ProjektGO ************
with GOPATH: /home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO
>> Running: /usr/lib/go/bin/go install -v -gcflags "-N -l" ./...
can't load package: /home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/file/main.go:11:2: import "../../../../../golang.org/x/tools/cmd/oracle" is a program, not an importable package
../../../../golang.org/x/tools/oracle/describe.go:20:2: cannot find package "golang.org/x/tools/go/ast/astutil" in any of:
/usr/lib/go/src/golang.org/x/tools/go/ast/astutil (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/go/ast/astutil (from $GOPATH)
../../../../golang.org/x/tools/cmd/oracle/main.go:26:2: cannot find package "golang.org/x/tools/go/buildutil" in any of:
/usr/lib/go/src/golang.org/x/tools/go/buildutil (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/go/buildutil (from $GOPATH)
../../../../golang.org/x/tools/oracle/callers.go:11:2: cannot find package "golang.org/x/tools/go/callgraph" in any of:
/usr/lib/go/src/golang.org/x/tools/go/callgraph (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/go/callgraph (from $GOPATH)
../../../../golang.org/x/tools/cmd/oracle/main.go:27:2: cannot find package "golang.org/x/tools/go/loader" in any of:
/usr/lib/go/src/golang.org/x/tools/go/loader (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/go/loader (from $GOPATH)
../../../../golang.org/x/tools/oracle/callees.go:17:2: cannot find package "golang.org/x/tools/go/pointer" in any of:
/usr/lib/go/src/golang.org/x/tools/go/pointer (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/go/pointer (from $GOPATH)
../../../../golang.org/x/tools/oracle/callees.go:18:2: cannot find package "golang.org/x/tools/go/ssa" in any of:
/usr/lib/go/src/golang.org/x/tools/go/ssa (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/go/ssa (from $GOPATH)
../../../../golang.org/x/tools/oracle/callees.go:19:2: cannot find package "golang.org/x/tools/go/ssa/ssautil" in any of:
/usr/lib/go/src/golang.org/x/tools/go/ssa/ssautil (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/go/ssa/ssautil (from $GOPATH)
../../../../golang.org/x/tools/oracle/describe.go:22:2: cannot find package "golang.org/x/tools/go/types/typeutil" in any of:
/usr/lib/go/src/golang.org/x/tools/go/types/typeutil (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/go/types/typeutil (from $GOPATH)
../../../../golang.org/x/tools/cmd/oracle/main.go:28:2: cannot find package "golang.org/x/tools/oracle" in any of:
/usr/lib/go/src/golang.org/x/tools/oracle (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/oracle (from $GOPATH)
../../../../golang.org/x/tools/oracle/callees.go:20:2: cannot find package "golang.org/x/tools/oracle/serial" in any of:
/usr/lib/go/src/golang.org/x/tools/oracle/serial (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/oracle/serial (from $GOPATH)
../../../../golang.org/x/tools/oracle/implements.go:21:2: cannot find package "golang.org/x/tools/refactor/importgraph" in any of:
/usr/lib/go/src/golang.org/x/tools/refactor/importgraph (from $GOROOT)
/home/haapoo/go/src/github.com/ProjektarbeitGo/ProjektGO/src/golang.org/x/tools/refactor/importgraph (from $GOPATH)
^^^ Terminated, exit code: 1 ^^^
************ Build terminated. ************
My GOROOT is /usr/lib/go and my GOPATH is /home/haapoo/go .
I know the question about gopath and goroot comes often but maybe anyone has an idea.
PS: I use goclipse
Greetings
haapoo
Have you run go get golang.org/x/tools/oracle and go get golang.org/x/tools/cmd/oracle ? This should be run after $GOPATH is properly set.
Never ever set GOROOT. (Unless you know what you are doing). Setting it is not needed.
As you cannot import golang.org/x/tools/cmd/oracle as this is a main package. At least you cannot do this the easy way and you should not anyway (except if you want to test the imported main package).
Importing is not magic, you'll have to download the package before using it. Use go get as others have mentioned.
Build on the command line to be sure what you are doing and how you are doing it (IDEs tend to blur things here).
If you need to import different packages of the same name in Golang, this is the way(just name it):
import (
"text/template"
ht "html/template"
)
but in case of "golang.org/x/tools/cmd/oracle"
it is not a package , it has just main.go and you need to build/install it. it is a command line tool:
Run 'oracle -help' for more information.
Go source code oracle.
Usage: oracle [<flag> ...] <mode> <args> ...
The -format flag controls the output format:
plain an editor-friendly format in which every line of output
is of the form "pos: text", where pos is "-" if unknown.
json structured data in JSON syntax.
xml structured data in XML syntax.
oracle is a source analysis command line tool, you can't import it. Use the following command to get it:
go get golang.org/x/tools/cmd/oracle
This will create an executable named oracle in your $GOPATH/bin directory.
Visit http://golang.org/s/oracle-user-manual for the complete oracle documentation.