williamboman / mason.nvim

Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.
Apache License 2.0
7.23k stars 258 forks source link

gopls installation fails #1667

Closed cjamessutton closed 3 months ago

cjamessutton commented 3 months ago

I've searched open issues for similar requests

I've recently downloaded the latest plugin version of mason.nvim

Problem description

After enabling gopls in the init.lua provided by kickstart.nvim, gopls installation fails

Expected behavior

Gopls should be automatically installed by mason.

Affected packages

gopls

Mason output

No response

Installation log

[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:20: fs: file_exists /Users/cxs5fqj/.local/share/nvim/mason/registries/github/mason-org/mason-registry/registry.json
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:11: fs: fstat /Users/cxs5fqj/.local/share/nvim/mason/registries/github/mason-org/mason-registry/registry.json
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:20: fs: file_exists /Users/cxs5fqj/.local/share/nvim/mason/registries/github/mason-org/mason-registry/info.json
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:11: fs: fstat /Users/cxs5fqj/.local/share/nvim/mason/registries/github/mason-org/mason-registry/info.json
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:30: fs: dir_exists /Users/cxs5fqj/.local/share/nvim/mason/bin
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:11: fs: fstat /Users/cxs5fqj/.local/share/nvim/mason/bin
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:30: fs: dir_exists /Users/cxs5fqj/.local/share/nvim/mason/share
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:11: fs: fstat /Users/cxs5fqj/.local/share/nvim/mason/share
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:30: fs: dir_exists /Users/cxs5fqj/.local/share/nvim/mason/packages
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:11: fs: fstat /Users/cxs5fqj/.local/share/nvim/mason/packages
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:30: fs: dir_exists /Users/cxs5fqj/.local/share/nvim/mason/staging
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:11: fs: fstat /Users/cxs5fqj/.local/share/nvim/mason/staging
[DEBUG Thu Mar 28 23:29:27 2024] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:58: Attempting to lock package Package(name=gopls)
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:20: fs: file_exists /Users/cxs5fqj/.local/share/nvim/mason/staging/gopls.lock
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:11: fs: fstat /Users/cxs5fqj/.local/share/nvim/mason/staging/gopls.lock
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:100: fs: write_file /Users/cxs5fqj/.local/share/nvim/mason/staging/gopls.lock
[DEBUG Thu Mar 28 23:29:27 2024] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:70: Wrote lockfile Package(name=gopls)
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:30: fs: dir_exists /Users/cxs5fqj/.local/share/nvim/mason/staging/gopls
[TRACE Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:11: fs: fstat /Users/cxs5fqj/.local/share/nvim/mason/staging/gopls
[DEBUG Thu Mar 28 23:29:27 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /Users/cxs5fqj/.local/share/nvim/mason/staging/gopls
[DEBUG Thu Mar 28 23:29:27 2024] ...zy/mason.nvim/lua/mason-core/installer/registry/init.lua:149: Compiling installer. gopls {}
[TRACE Thu Mar 28 23:29:27 2024] ...zy/mason.nvim/lua/mason-core/installer/registry/init.lua:110: Parsing spec gopls {}
[TRACE Thu Mar 28 23:29:27 2024] ...zy/mason.nvim/lua/mason-core/installer/registry/init.lua:124: Parsed purl. pkg:golang/golang.org/x/tools/gopls@v0.15.2 {
  name = "gopls",
  namespace = "golang.org/x/tools",
  scheme = "pkg",
  type = "golang",
  version = "v0.15.2"
}
[TRACE Thu Mar 28 23:29:27 2024] ...zy/mason.nvim/lua/mason-core/installer/registry/init.lua:131: Found provider for purl. pkg:golang/golang.org/x/tools/gopls@v0.15.2
[TRACE Thu Mar 28 23:29:27 2024] ...zy/mason.nvim/lua/mason-core/installer/registry/init.lua:133: Parsed source for purl. pkg:golang/golang.org/x/tools/gopls@v0.15.2 {
  package = "golang.org/x/tools/gopls",
  version = "v0.15.2"
}
[DEBUG Thu Mar 28 23:29:27 2024] .../mason.nvim/lua/mason-core/installer/managers/golang.lua:16: golang: install "golang.org/x/tools/gopls" "v0.15.2" {}
[DEBUG Thu Mar 28 23:29:27 2024] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="go", spawn_opts={
  args = { "install", "-v", "golang.org/x/tools/gopls@v0.15.2" },
  cwd = "/Users/$USER/.local/share/nvim/mason/staging/gopls",

}
[DEBUG Thu Mar 28 23:29:27 2024] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 37107
[TRACE Thu Mar 28 23:29:27 2024] ...nvim/lazy/mason.nvim/lua/mason-core/installer/handle.lua:84: Pushing spawn_handles stack for InstallHandle(package=Package(name=gopls), state=ACTIVE): go install -v golang.org/x/tools/gopls@v0.15.2 (pid
: 37107)
[DEBUG Thu Mar 28 23:29:28 2024] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:148: Job pid=37107 exited with exit_code=1, signal=0
[TRACE Thu Mar 28 23:29:28 2024] ...nvim/lazy/mason.nvim/lua/mason-core/installer/handle.lua:93: Popping spawn_handles stack for InstallHandle(package=Package(name=gopls), state=ACTIVE): go install -v golang.org/x/tools/gopls@v0.15.2
[DEBUG Thu Mar 28 23:29:28 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:59: fs: unlink /Users/cxs5fqj/.local/share/nvim/mason/staging/gopls.lock
[DEBUG Thu Mar 28 23:29:28 2024] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:47: fs: rmrf /Users/cxs5fqj/.local/share/nvim/mason/staging/gopls
[DEBUG Thu Mar 28 23:29:28 2024] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:39: Building receipt for Package(name=gopls)
[ERROR Thu Mar 28 23:29:28 2024] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:249: Installation failed for Package(name=gopls) error=spawn: go failed with exit code 1 and signal 0.
[TRACE Thu Mar 28 23:29:28 2024] ...nvim/lazy/mason.nvim/lua/mason-core/installer/handle.lua:195: Closing InstallHandle(package=Package(name=gopls), state=ACTIVE)

Neovim version (>= 0.7)

NVIM v0.9.5 Build type: Release LuaJIT 2.1.1710088188

system vimrc file: "$VIM/sysinit.vim" fall-back for $VIM: "/usr/local/Cellar/neovim/0.9.5/share/nvim"

Operating system/version

Darwin C02Y312PJG5MMBP 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:11:05 PDT 2024; root:xnu-10063.101.17~1/RELEASE_X86_64 x86_64

Healthcheck

==============================================================================
mason: require("mason.health").check()

mason.nvim ~
- OK mason.nvim version v1.10.0
- OK PATH: prepend
- OK Providers: 
  mason.providers.registry-api
  mason.providers.client
- OK neovim version >= 0.7.0

mason.nvim [Registries] ~
- OK Registry `github.com/mason-org/mason-registry version: 2024-03-28-afraid-wall` is installed.

mason.nvim [Core utils] ~
- OK unzip: `UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send`
- OK wget: `GNU Wget 1.21.4 built on darwin23.0.0.`
- OK curl: `curl 8.4.0 (x86_64-apple-darwin23.0) libcurl/8.4.0 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.12 nghttp2/1.58.0`
- OK gzip: `Apple gzip 430.100.5`
- OK tar: `bsdtar 3.5.3 - libarchive 3.5.3 zlib/1.2.12 liblzma/5.4.3 bz2lib/1.0.8 `
- OK bash: `GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin23)`
- OK sh: `Ok`

mason.nvim [Languages] ~
- WARNING luarocks: not available
  - ADVICE:
    - spawn: luarocks failed with exit code - and signal -. luarocks is not executable
- WARNING Composer: not available
  - ADVICE:
    - spawn: composer failed with exit code - and signal -. composer is not executable
- WARNING PHP: not available
  - ADVICE:
    - spawn: php failed with exit code - and signal -. php is not executable
- OK Go: `go version go1.22.1 darwin/amd64`
- OK Ruby: `ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin23]`
- WARNING cargo: unsupported version `cargo 1.45.0 (744bd1fbb 2020-06-15)`
  - ADVICE:
    - Some cargo installations require Rust >= 1.60.0.
- OK node: `v18.18.2`
- WARNING julia: not available
  - ADVICE:
    - spawn: julia failed with exit code - and signal -. julia is not executable
- OK RubyGem: `3.0.3.1`
- OK java: `openjdk version "20" 2023-03-21`
- OK python: `Python 3.9.9`
- OK javac: `javac 20`
- OK npm: `9.8.1`
- OK pip: `pip 21.2.4 from /Users/cxs5fqj/.pyenv/versions/3.9.9/lib/python3.9/site-packages/pip (python 3.9)`
- OK python venv: `Ok`

mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 0. Remaining: 60. Limit: 60. Reset: Fri Mar 29 11:55:50 2024.
  Install and authenticate via gh-cli to increase rate limit.

Screenshots

No response

cjamessutton commented 3 months ago

I'm actually just putting this here to help future users having issues with this.

I was running Go 1.17, and I guess mason doesn't take this into account when picking which gopls version to install. After banging my head against stuff for a while, I decided to upgrade my go version to 1.22, and the next time I started nvim, gopls installed without issue.