Skip to content
This repository has been archived by the owner on May 9, 2021. It is now read-only.

Usage examples? #37

Closed
jyaunches opened this issue Apr 13, 2014 · 6 comments
Closed

Usage examples? #37

jyaunches opened this issue Apr 13, 2014 · 6 comments

Comments

@jyaunches
Copy link

Hi there. I'm new to Go and am trying to run go lint on a program I'm writing. I'd like clarification on the usage of this library from the command-line.

I've verified the installation went to the directory: go/src/github.com/golang/lint

If I'm in the directory of the code I'm working on (/go/src/github.com/jyaunches/my_program), should I be able to run lint with:

go lint filename.go

??

When I do this, I get:

go: unknown subcommand "lint"

I'm thinking maybe my Go installation isn't completely hooked up properly.. but as I can't find exact usage examples, I thought I would check.

Thanks!

@dsymonds
Copy link
Contributor

Try go install github.com/golang/lint followed by golint filename.go.

@d4rkd0s
Copy link

d4rkd0s commented Oct 3, 2018

logan:~/ $ go install github.com/golang/lint
logan:~/ $ golint main.go
bash: golint: command not found

EDIT: @dsymonds I also thought maybe some GOHOME or something isn't setup, but I've followed https://golang.org/doc/install and didn't see anything like that, also looked at https://github.com/golang/lint/blob/master/README.md and followed usage/installation with no luck yet.

EDIT: Also made sure go's binary folder is in my PATH export PATH=$PATH:/usr/local/go/bin

EDIT: Checked my GOPATH and GOBIN they are empty, so I'll set those up and report back

logan:/usr/local/go/bin $ echo $GOPATH

logan:/usr/local/go/bin $ echo $GOBIN

Followed https://github.com/golang/go/wiki/SettingGOPATH to setup GOPATH

Followed this Stack Overflow answer that explains the setup/problem most have with GOPATH/GOBIN: https://stackoverflow.com/questions/25216765/gobin-not-set-cannot-run-go-install

Ended up setting the following in my ~/.bash_profile

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin

Then activating that by running source ~/.bash_profile

Now they appear correct

logan:/usr/local/go/bin $ echo $GOBIN
/home/ec2-user/go/bin
logan:/usr/local/go/bin $ echo $GOPATH
/home/ec2-user/go

Tried install again, still no luck... 🤕

logan:/usr/local/go/bin $ go install github.com/golang/lint
logan:/usr/local/go/bin $ golint
bash: golint: command not found
logan:/usr/local/go/bin $ ls -la
total 28296
drwxr-xr-x  2 root root     4096 Oct  4  2017 .
drwxr-xr-x 11 root root     4096 Oct  4  2017 ..
-rwxr-xr-x  1 root root 10377652 Oct  4  2017 go
-rwxr-xr-x  1 root root 15325248 Oct  4  2017 godoc
-rwxr-xr-x  1 root root  3257829 Oct  4  2017 gofmt

EDIT: Also tried the slightly different install from the README.md of this repo.

logan:/usr/local/go/bin $ go get -u golang.org/x/lint/golint
logan:/usr/local/go/bin $ golint
bash: golint: command not found
logan:/usr/local/go/bin $ ls
go  godoc  gofmt

No bananas 🍌

I found it! golint is installed under

logan:~/go/bin $ pwd
/home/logan/go/bin
logan:~/go/bin $ ls
golint

🌟 ⭐ 🌟 ⭐ 🌟 ⭐ 🌟 ⭐

Okay solution is:

First ensure your GOPATH and GOBIN are fully setup.

Ended up setting the following in my ~/.bash_profile

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin

Then activating that by running source ~/.bash_profile

Next, install golint with go get -u golang.org/x/lint/golint

Lastly, you can run golint by doing the following:

Run golint by running ~/go/bin/golint yourprogram.go
or even easier
Run golint by running $GOBIN/golint yourprogram.go

🌟 ⭐ 🌟 ⭐ 🌟 ⭐ 🌟 ⭐

@d4rkd0s
Copy link

d4rkd0s commented Oct 3, 2018

@jyaunches I've investigated this issue, and posted my solution / results.

Also tagging @crunchytom, @Rambatino, @micky2be, @icambridge and @colinster from #171 because I started on that issue, and then came here.

@dsymonds Responding to your comments on #171 about "its not up to golint to explain this". Explanation and information is vital to open source. Teaching people, growing a healthy community, even if it takes time out of your day. Now I have my solution above that explains the whole process I used to troubleshoot and simply what I did to fix it. Indeed you are correct this is something that deals with go directly and not golint. However golint would benefit from more people using it, and therefore some simple extended documentation on proper installation would be helpful to grow golint and go. If you agree I can add a PR with some clarifications / considerations to the installation/usage part of the README.md of this repo. If not that's fine, but realize you will loose healthy growth, everyone starts by not knowing. Power comes with sharing and teaching others.

@yogesh9391
Copy link

simply add golint binary path in PATH var like
`export PATH=$PATH:

@youzeliang
Copy link

logan:~/ $ go install github.com/golang/lint
logan:~/ $ golint main.go
bash: golint: command not found

EDIT: @dsymonds I also thought maybe some GOHOME or something isn't setup, but I've followed https://golang.org/doc/install and didn't see anything like that, also looked at https://github.com/golang/lint/blob/master/README.md and followed usage/installation with no luck yet.

EDIT: Also made sure go's binary folder is in my PATH export PATH=$PATH:/usr/local/go/bin

EDIT: Checked my GOPATH and GOBIN they are empty, so I'll set those up and report back

logan:/usr/local/go/bin $ echo $GOPATH

logan:/usr/local/go/bin $ echo $GOBIN

Followed https://github.com/golang/go/wiki/SettingGOPATH to setup GOPATH

Followed this Stack Overflow answer that explains the setup/problem most have with GOPATH/GOBIN: https://stackoverflow.com/questions/25216765/gobin-not-set-cannot-run-go-install

Ended up setting the following in my ~/.bash_profile

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin

Then activating that by running source ~/.bash_profile

Now they appear correct

logan:/usr/local/go/bin $ echo $GOBIN
/home/ec2-user/go/bin
logan:/usr/local/go/bin $ echo $GOPATH
/home/ec2-user/go

Tried install again, still no luck... 🤕

logan:/usr/local/go/bin $ go install github.com/golang/lint
logan:/usr/local/go/bin $ golint
bash: golint: command not found
logan:/usr/local/go/bin $ ls -la
total 28296
drwxr-xr-x  2 root root     4096 Oct  4  2017 .
drwxr-xr-x 11 root root     4096 Oct  4  2017 ..
-rwxr-xr-x  1 root root 10377652 Oct  4  2017 go
-rwxr-xr-x  1 root root 15325248 Oct  4  2017 godoc
-rwxr-xr-x  1 root root  3257829 Oct  4  2017 gofmt

EDIT: Also tried the slightly different install from the README.md of this repo.

logan:/usr/local/go/bin $ go get -u golang.org/x/lint/golint
logan:/usr/local/go/bin $ golint
bash: golint: command not found
logan:/usr/local/go/bin $ ls
go  godoc  gofmt

No bananas 🍌

I found it! golint is installed under

logan:~/go/bin $ pwd
/home/logan/go/bin
logan:~/go/bin $ ls
golint

🌟 ⭐️ 🌟 ⭐️ 🌟 ⭐️ 🌟 ⭐️

Okay solution is:

First ensure your GOPATH and GOBIN are fully setup.

Ended up setting the following in my ~/.bash_profile

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin

Then activating that by running source ~/.bash_profile

Next, install golint with go get -u golang.org/x/lint/golint

Lastly, you can run golint by doing the following:

Run golint by running ~/go/bin/golint yourprogram.go
or even easier
Run golint by running $GOBIN/golint yourprogram.go

🌟 ⭐️ 🌟 ⭐️ 🌟 ⭐️ 🌟 ⭐️
I did it , ti seems not work

@d4rkd0s
Copy link

d4rkd0s commented Aug 19, 2019

@yzrds can you provide the output of the commands that "didn't work" maybe I can help you out then.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants