Not using the $GOPATH specified in “go env”











up vote
-2
down vote

favorite












I've got




export GOPATH=$HOME/Documents/go




in my .zshrc.



When trying to build a project with the following:




sudo go build -o /usr/bin/




I get a



main.go:5:2: cannot find package "github.com/foo/bar" in any of:
/usr/local/go/src/github.com/foo/bar (from $GOROOT)
/Users/JoahJoah/go/src/github.com/foo/bar (from $GOPATH)


I am assuming the "(from $GOPATH)" means the path is whatever I've set my $GOPATH variable to. And




go env




outputs the following:



GOPATH="/Users/Johannes/Documents/go"


The "Documents" part of the path seems to be omitted when using go build.



Is build using a GOPATH from somewhere else?










share|improve this question




















  • 2




    Are you by any chance running go build with a differnet user (e.g. root)? Different users have different environments.
    – icza
    Nov 19 at 10:26










  • Is the package listed as not found one of yours?
    – Eric Fortin
    Nov 19 at 10:38










  • @Eric, no it's not my own package. @i
    – BitterJohnBob
    Nov 19 at 10:48








  • 1




    use go get -u github.com/foo/bar in order to download the missing repository.
    – Ehsan.Saradar
    Nov 19 at 10:52






  • 1




    Do not use sudo !
    – Volker
    Nov 19 at 11:15















up vote
-2
down vote

favorite












I've got




export GOPATH=$HOME/Documents/go




in my .zshrc.



When trying to build a project with the following:




sudo go build -o /usr/bin/




I get a



main.go:5:2: cannot find package "github.com/foo/bar" in any of:
/usr/local/go/src/github.com/foo/bar (from $GOROOT)
/Users/JoahJoah/go/src/github.com/foo/bar (from $GOPATH)


I am assuming the "(from $GOPATH)" means the path is whatever I've set my $GOPATH variable to. And




go env




outputs the following:



GOPATH="/Users/Johannes/Documents/go"


The "Documents" part of the path seems to be omitted when using go build.



Is build using a GOPATH from somewhere else?










share|improve this question




















  • 2




    Are you by any chance running go build with a differnet user (e.g. root)? Different users have different environments.
    – icza
    Nov 19 at 10:26










  • Is the package listed as not found one of yours?
    – Eric Fortin
    Nov 19 at 10:38










  • @Eric, no it's not my own package. @i
    – BitterJohnBob
    Nov 19 at 10:48








  • 1




    use go get -u github.com/foo/bar in order to download the missing repository.
    – Ehsan.Saradar
    Nov 19 at 10:52






  • 1




    Do not use sudo !
    – Volker
    Nov 19 at 11:15













up vote
-2
down vote

favorite









up vote
-2
down vote

favorite











I've got




export GOPATH=$HOME/Documents/go




in my .zshrc.



When trying to build a project with the following:




sudo go build -o /usr/bin/




I get a



main.go:5:2: cannot find package "github.com/foo/bar" in any of:
/usr/local/go/src/github.com/foo/bar (from $GOROOT)
/Users/JoahJoah/go/src/github.com/foo/bar (from $GOPATH)


I am assuming the "(from $GOPATH)" means the path is whatever I've set my $GOPATH variable to. And




go env




outputs the following:



GOPATH="/Users/Johannes/Documents/go"


The "Documents" part of the path seems to be omitted when using go build.



Is build using a GOPATH from somewhere else?










share|improve this question















I've got




export GOPATH=$HOME/Documents/go




in my .zshrc.



When trying to build a project with the following:




sudo go build -o /usr/bin/




I get a



main.go:5:2: cannot find package "github.com/foo/bar" in any of:
/usr/local/go/src/github.com/foo/bar (from $GOROOT)
/Users/JoahJoah/go/src/github.com/foo/bar (from $GOPATH)


I am assuming the "(from $GOPATH)" means the path is whatever I've set my $GOPATH variable to. And




go env




outputs the following:



GOPATH="/Users/Johannes/Documents/go"


The "Documents" part of the path seems to be omitted when using go build.



Is build using a GOPATH from somewhere else?







go






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 19 at 11:00

























asked Nov 19 at 10:22









BitterJohnBob

12




12








  • 2




    Are you by any chance running go build with a differnet user (e.g. root)? Different users have different environments.
    – icza
    Nov 19 at 10:26










  • Is the package listed as not found one of yours?
    – Eric Fortin
    Nov 19 at 10:38










  • @Eric, no it's not my own package. @i
    – BitterJohnBob
    Nov 19 at 10:48








  • 1




    use go get -u github.com/foo/bar in order to download the missing repository.
    – Ehsan.Saradar
    Nov 19 at 10:52






  • 1




    Do not use sudo !
    – Volker
    Nov 19 at 11:15














  • 2




    Are you by any chance running go build with a differnet user (e.g. root)? Different users have different environments.
    – icza
    Nov 19 at 10:26










  • Is the package listed as not found one of yours?
    – Eric Fortin
    Nov 19 at 10:38










  • @Eric, no it's not my own package. @i
    – BitterJohnBob
    Nov 19 at 10:48








  • 1




    use go get -u github.com/foo/bar in order to download the missing repository.
    – Ehsan.Saradar
    Nov 19 at 10:52






  • 1




    Do not use sudo !
    – Volker
    Nov 19 at 11:15








2




2




Are you by any chance running go build with a differnet user (e.g. root)? Different users have different environments.
– icza
Nov 19 at 10:26




Are you by any chance running go build with a differnet user (e.g. root)? Different users have different environments.
– icza
Nov 19 at 10:26












Is the package listed as not found one of yours?
– Eric Fortin
Nov 19 at 10:38




Is the package listed as not found one of yours?
– Eric Fortin
Nov 19 at 10:38












@Eric, no it's not my own package. @i
– BitterJohnBob
Nov 19 at 10:48






@Eric, no it's not my own package. @i
– BitterJohnBob
Nov 19 at 10:48






1




1




use go get -u github.com/foo/bar in order to download the missing repository.
– Ehsan.Saradar
Nov 19 at 10:52




use go get -u github.com/foo/bar in order to download the missing repository.
– Ehsan.Saradar
Nov 19 at 10:52




1




1




Do not use sudo !
– Volker
Nov 19 at 11:15




Do not use sudo !
– Volker
Nov 19 at 11:15












1 Answer
1






active

oldest

votes

















up vote
0
down vote



accepted










Since I was running the the command



$ sudo go build -o /usr/bin/


with sudo prefixed, it was running as the root user, causing a different $GOPATH to be used.



As Eric said, I should instead build to /usr/local/bin where sudo can be omitted.



$ go build /usr/local/bin


Works!






share|improve this answer























  • You can also run it with sudo -E, which retains your existing environment variables for the command. That said, you are correct, you should not need to run it via sudo.
    – Kaedys
    Nov 19 at 18:18











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372531%2fnot-using-the-gopath-specified-in-go-env%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
0
down vote



accepted










Since I was running the the command



$ sudo go build -o /usr/bin/


with sudo prefixed, it was running as the root user, causing a different $GOPATH to be used.



As Eric said, I should instead build to /usr/local/bin where sudo can be omitted.



$ go build /usr/local/bin


Works!






share|improve this answer























  • You can also run it with sudo -E, which retains your existing environment variables for the command. That said, you are correct, you should not need to run it via sudo.
    – Kaedys
    Nov 19 at 18:18















up vote
0
down vote



accepted










Since I was running the the command



$ sudo go build -o /usr/bin/


with sudo prefixed, it was running as the root user, causing a different $GOPATH to be used.



As Eric said, I should instead build to /usr/local/bin where sudo can be omitted.



$ go build /usr/local/bin


Works!






share|improve this answer























  • You can also run it with sudo -E, which retains your existing environment variables for the command. That said, you are correct, you should not need to run it via sudo.
    – Kaedys
    Nov 19 at 18:18













up vote
0
down vote



accepted







up vote
0
down vote



accepted






Since I was running the the command



$ sudo go build -o /usr/bin/


with sudo prefixed, it was running as the root user, causing a different $GOPATH to be used.



As Eric said, I should instead build to /usr/local/bin where sudo can be omitted.



$ go build /usr/local/bin


Works!






share|improve this answer














Since I was running the the command



$ sudo go build -o /usr/bin/


with sudo prefixed, it was running as the root user, causing a different $GOPATH to be used.



As Eric said, I should instead build to /usr/local/bin where sudo can be omitted.



$ go build /usr/local/bin


Works!







share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 19 at 15:13









xgord

2,28521838




2,28521838










answered Nov 19 at 11:16









BitterJohnBob

12




12












  • You can also run it with sudo -E, which retains your existing environment variables for the command. That said, you are correct, you should not need to run it via sudo.
    – Kaedys
    Nov 19 at 18:18


















  • You can also run it with sudo -E, which retains your existing environment variables for the command. That said, you are correct, you should not need to run it via sudo.
    – Kaedys
    Nov 19 at 18:18
















You can also run it with sudo -E, which retains your existing environment variables for the command. That said, you are correct, you should not need to run it via sudo.
– Kaedys
Nov 19 at 18:18




You can also run it with sudo -E, which retains your existing environment variables for the command. That said, you are correct, you should not need to run it via sudo.
– Kaedys
Nov 19 at 18:18


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372531%2fnot-using-the-gopath-specified-in-go-env%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Costa Masnaga

Fotorealismo

Sidney Franklin