go-plus icon indicating copy to clipboard operation
go-plus copied to clipboard

The dependencies keep on installing themselves again and again

Open thomasgodart opened this issue 4 years ago • 6 comments

Description

Since I manually installed Golang 1.15 on my Ubuntu 20.10, the dependencies that go-plus wants to use keep on installing themselves again and again every time I open Atom. To go-plus they look like missing, but after their first install they are present and accessible so they shouldn't be downloaded again and installed again

Output from atom -v && apm -v

Atom    : 1.54.0
Electron: 6.1.12
Chrome  : 76.0.3809.146
Node    : 12.4.0
apm  2.5.2
npm  6.14.8
node 12.4.0 x64
atom 1.54.0
python 
git 2.27.0

I have python 3.8.6 installed on my system, not sure why the apm -v command doesn't work for python

Output From go env

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/me/.cache/go-build"
GOENV="/home/me/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/me/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/me/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build131756375=/tmp/go-build -gno-record-gcc-switches"

Steps to Reproduce

  1. Remove golang from your system: $ sudo apt remove golang
  2. Extract the content of the golang 1.15 archive inside /usr/local/go/
  3. Append to your ~/.profile the lines:
export GOROOT=/usr/local/go
export GOPATH=~/go
export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:$GOPATH/bin

Expected Behavior

The dependencies should install themselves once

Actual Behavior

The dependencies keep on installing themselves again and again, as if they were missing

thomasgodart avatar Feb 07 '21 13:02 thomasgodart

Complements

As a complement to the ticket description, here is what I see every time when I open Atom:

Yellow message by: gocode

dial unix /tmp/gocode-daemon.me: connect: no such file or directory

Yellow message by: gometalinter

Installing:
  deadcode
  dupl
  errcheck
  gochecknoglobals
  gochecknoinits
  goconst
  gocyclo
  goimports
  golint
  gosec
  gotype
  gotypex
  ineffassign
  interfacer
  lll
  maligned
  misspell
  nakedret
  safesql
  staticcheck
  structcheck
  unconvert
  unparam
  varcheck

And this installing takes about 2 minutes, does a lot of downloading, the ~/go directory jumps from 486M with all my dependencies for my projects and the dependencies that VS Code is loading, to a huge 933M

And what I see is that every time I open Atom the same downloading and installing happens.

So with that bug present, I can't really afford to use Atom with go-plus anymore, so I've switched to VS Code but I don't like it.

Is there a way to quick fix it on my system?

thomasgodart avatar Feb 07 '21 13:02 thomasgodart

I am seeing this on my mac on after a fresh install of go from homebrew

ericychoi avatar Feb 24 '21 22:02 ericychoi

I have the exact same issue

tendermonster avatar Mar 18 '21 18:03 tendermonster

Same here on Ubuntu

peterdeka avatar Mar 19 '21 06:03 peterdeka

same on windows

rayd1oo avatar Apr 13 '21 16:04 rayd1oo

I think it's a duplicate of https://github.com/joefitzgerald/go-plus/issues/1020 , the solution worked for me:

Also removed the following line from /home/fray/Desktop/go-plus/lib/package-manager.js:

['golangci-lint', 'github.com/golangci/golangci-lint/cmd/golangci-lint'],

There appears to be a fluke in a vendored package used by "golangci-link" linter. It failed to install every time, forcing atom to attemp re-installing on every launch. Pick a different linter in the options, remove the line as I did and it stops trying to re-install everything on launch.

In my case the package-manager.js directory was: ~/.atom/packages/go-plus/lib/

renomarx avatar Apr 25 '21 08:04 renomarx