mason.nvim
mason.nvim copied to clipboard
MasonInstall command broken when called through `vim.cmd`
I've searched open issues for similar requests
Yes
I've recently downloaded the latest plugin version of mason.nvim
- [X] Yes
Problem description
I have the following configuration:
local masonpath = vim.fn.stdpath("data") .. "/mason.nvim"
if not vim.loop.fs_stat(masonpath) then
vim.fn.system({
"git",
"clone",
"https://github.com/williamboman/mason.nvim",
masonpath,
})
end
vim.opt.rtp:prepend(masonpath)
require("mason").setup({
log_level = vim.log.levels.DEBUG,
})
and running the following command to install language servers:
nvim -u repro.lua --headless \
-c "lua vim.cmd('MasonInstall gopls'); vim.cmd('MasonInstall dockerfile-language-server')" \
-c "qa!"
The dockerfile-language-server is never installed because installing gopls although succeeds (the gopls binary is installed) but quits.
If I specify the commands separately or in a single command, both get installed but gopls still prints errors.
nvim -u repro.lua --headless \
-c "lua vim.cmd('MasonInstall gopls')" \
-c "lua vim.cmd('MasonInstall dockerfile-language-server')" \
-c "qa!"
nvim -u repro.lua --headless \
-c "lua vim.cmd('MasonInstall gopls dockerfile-language-server')" \
-c "qa!"
If I specify vim commands directly then both install and there are no errors.
nvim -u repro.lua --headless \
-c "MasonInstall gopls" \
-c "MasonInstall dockerfile-language-server" \
-c "qa!"
Expected behavior
Expected MasonInstall to work regardless of invocation method.
Affected packages
gopls
Mason output
# Output of headless install
[mason] [INFO 14:00:49] .../share/nvim/mason.nvim/lua/mason-core/installer/init.lua:120: Executing installer for Package(name=gopls)
[mason] [DEBUG 14:00:49] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/magnus/.local/share/nvim/mason
[mason] [DEBUG 14:00:49] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/magnus/.local/share/nvim/mason/bin
[mason] [DEBUG 14:00:49] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/magnus/.local/share/nvim/mason/packages
[mason] [DEBUG 14:00:49] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/magnus/.local/share/nvim/mason/.packages
[mason] [DEBUG 14:00:49] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/magnus/.local/share/nvim/mason/.packages/gopls
[mason] [DEBUG 14:00:49] .../.local/share/nvim/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="go", spawn_opts={
[mason] args = { "install", "-v", "golang.org/x/tools/gopls@latest" },
[mason] cwd = "/home/magnus/.local/share/nvim/mason/.packages/gopls",
[mason] env = { "SKIM_DEFAULT_COMMAND=<redacted>", "GOPATH=/home/magnus/go", "PATH=/home/magnus/.local/share/nvim/mason/bin:/home/magnus/toolbox/workspaces/go/bin:/home/magnus/Downloads/lua-language-server-3.6.7-linux-x64/bin:/home/magnus/.tools/js/node_modules/.bin:/home/magnus/.luarocks/bin:/home/magnus/.bin:/home/magnus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin:/home/magnus/.cargo/bin:/home/magnus/go/bin:/home/magnus/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin", "FZF_DEFAULT_COMMAND=<redacted>", "LC_MEASUREMENT=<redacted>", "PWD=<redacted>", "MANPAGER=<redacted>", "SYSTEMD_EXEC_PID=<redacted>", "DISPLAY=<redacted>", "QT_IM_MODULE=<redacted>", "LS_COLORS=<redacted>", "LIBRARY_PATH=<redacted>", "TERM_PROGRAM_VERSION=<redacted>", "TMUX_PANE=<redacted>", "GIO_LAUNCHED_DESKTOP_FILE_PID=<redacted>", "ANSIBLE_NOCOWS=<redacted>", "SHLVL=<redacted>", "LOGNAME=<redacted>", "TERM=<redacted>", "FZF_ALT_C_COMMAND=<redacted>", "_=<redacted>", "DBUS_SESSION_BUS_ADDRESS=<redacted>", "TMUX=<redacted>", "GPG_TTY=<redacted>", "GOFLAGS=<redacted>", "XDG_RUNTIME_DIR=<redacted>", "SSH_AUTH_SOCK=<redacted>", "TERM_PROGRAM=<redacted>", "USER=<redacted>", "LC_TIME=<redacted>", "XDG_MENU_PREFIX=<redacted>", "XDG_CURRENT_DESKTOP=<redacted>", "LC_NUMERIC=<redacted>", "VISUAL=<redacted>", "SHELL=<redacted>", "HOME=<redacted>", "FZF_CTRL_T_COMMAND=<redacted>", "XDG_SESSION_TYPE=<redacted>", "SESSION_MANAGER=<redacted>", "GNOME_SETUP_DISPLAY=<redacted>", "FZF_DEFAULT_OPTS=<redacted>", "JOURNAL_STREAM=<redacted>", "EDITOR=<redacted>", "GDM_LANG=<redacted>", "COLORTERM=<redacted>", "LANG=<redacted>", "USERNAME=<redacted>", "XDG_SESSION_CLASS=<redacted>", "GDMSESSION=<redacted>", "XMODIFIERS=<redacted>", "XAUTHORITY=<redacted>", "WAYLAND_DISPLAY=<redacted>", "VIMRUNTIME=<redacted>", "XDG_DATA_DIRS=<redacted>", "LC_MONETARY=<redacted>", "LC_PAPER=<redacted>", "INVOCATION_ID=<redacted>", "NVIM_LOG_FILE=<redacted>", "XDG_SESSION_DESKTOP=<redacted>", "PAGER=<redacted>", "MANAGERPID=<redacted>", "DESKTOP_SESSION=<redacted>", "GOBIN=/home/magnus/.local/share/nvim/mason/.packages/gopls" }
[mason] }
[mason] [DEBUG 14:00:49] .../.local/share/nvim/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 36328
Error detected while processing command line:
E5108: Error executing lua [string ":lua"]:1: Vim:Error executing vim.schedule lua callback: ...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: Vim:Error executing vim.schedule lua callback: ...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: Vim:Error executing vim.schedule lua callback: ...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: Vim:Error executing vim.schedule lua callback: ...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: Vim:Error executing vim.schedule lua callback: ...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: Vim:Error executing vim.schedule lua callback: ...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: Vim:Error executing vim.schedule lua callback: ...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: Vim:get "golang.org/x/tools": found meta tag vcs.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at //golang.org/x/tools?go-get=1
stack traceback:
[C]: in function 'cmd'
...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: in function <...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:86>
[C]: in function 'wait'
...ocal/share/nvim/mason.nvim/lua/mason-core/async/init.lua:128: in function 'run_blocking'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:41: in function 'join_handles'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:104: in function 'MasonInstall'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:127: in function <...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:125>
[C]: in function 'cmd'
[string ":lua"]:1: in main chunk
stack traceback:
[C]: in function 'cmd'
...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: in function <...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:86>
[C]: in function 'wait'
...ocal/share/nvim/mason.nvim/lua/mason-core/async/init.lua:128: in function 'run_blocking'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:41: in function 'join_handles'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:104: in function 'MasonInstall'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:127: in function <...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:125>
[C]: in function 'cmd'
[string ":lua"]:1: in main chunk
stack traceback:
[C]: in function 'cmd'
...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: in function <...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:86>
[C]: in function 'wait'
...ocal/share/nvim/mason.nvim/lua/mason-core/async/init.lua:128: in function 'run_blocking'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:41: in function 'join_handles'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:104: in function 'MasonInstall'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:127: in function <...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:125>
[C]: in function 'cmd'
[string ":lua"]:1: in main chunk
stack traceback:
[C]: in function 'cmd'
...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: in function <...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:86>
[C]: in function 'wait'
...ocal/share/nvim/mason.nvim/lua/mason-core/async/init.lua:128: in function 'run_blocking'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:41: in function 'join_handles'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:104: in function 'MasonInstall'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:127: in function <...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:125>
[C]: in function 'cmd'
[string ":lua"]:1: in main chunk
stack traceback:
[C]: in function 'cmd'
...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: in function <...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:86>
[C]: in function 'wait'
...ocal/share/nvim/mason.nvim/lua/mason-core/async/init.lua:128: in function 'run_blocking'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:41: in function 'join_handles'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:104: in function 'MasonInstall'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:127: in function <...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:125>
[C]: in function 'cmd'
[string ":lua"]:1: in main chunk
stack traceback:
[C]: in function 'cmd'
...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: in function <...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:86>
[C]: in function 'wait'
...ocal/share/nvim/mason.nvim/lua/mason-core/async/init.lua:128: in function 'run_blocking'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:41: in function 'join_handles'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:104: in function 'MasonInstall'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:127: in function <...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:125>
[C]: in function 'cmd'
[string ":lua"]:1: in main chunk
stack traceback:
[C]: in function 'cmd'
...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:90: in function <...gnus/.local/share/nvim/mason.nvim/lua/mason-core/log.lua:86>
[C]: in function 'wait'
...ocal/share/nvim/mason.nvim/lua/mason-core/async/init.lua:128: in function 'run_blocking'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:41: in function 'join_handles'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:104: in function 'MasonInstall'
...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:127: in function <...s/.local/share/nvim/mason.nvim/lua/mason/api/command.lua:125>
[C]: in function 'cmd'
[string ":lua"]:1: in main chunk
stack traceback:
[C]: in function 'cmd'
[string ":lua"]:1: in main chunk
[mason] [INFO 14:00:51] .../share/nvim/mason.nvim/lua/mason-core/installer/init.lua:152: Installation succeeded for Package(name=gopls)⏎
Installation log
[INFO K 01 veebr 2023 14:00:49] .../share/nvim/mason.nvim/lua/mason-core/installer/init.lua:120: Executing installer for Package(name=gopls)
[DEBUG K 01 veebr 2023 14:00:49] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/magnus/.local/share/nvim/mason
[DEBUG K 01 veebr 2023 14:00:49] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/magnus/.local/share/nvim/mason/bin
[DEBUG K 01 veebr 2023 14:00:49] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/magnus/.local/share/nvim/mason/packages
[DEBUG K 01 veebr 2023 14:00:49] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/magnus/.local/share/nvim/mason/.packages
[DEBUG K 01 veebr 2023 14:00:49] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/magnus/.local/share/nvim/mason/.packages/gopls
[DEBUG K 01 veebr 2023 14:00:49] .../.local/share/nvim/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="go", spawn_opts={
args = { "install", "-v", "golang.org/x/tools/gopls@latest" },
cwd = "/home/magnus/.local/share/nvim/mason/.packages/gopls",
env = { "SKIM_DEFAULT_COMMAND=<redacted>", "GOPATH=/home/magnus/go", "PATH=/home/magnus/.local/share/nvim/mason/bin:/home/magnus/toolbox/workspaces/go/bin:/home/magnus/Downloads/lua-language-server-3.6.7-linux-x64/bin:/home/magnus/.tools/js/node_modules/.bin:/home/magnus/.luarocks/bin:/home/magnus/.bin:/home/magnus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin:/home/magnus/.cargo/bin:/home/magnus/go/bin:/home/magnus/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin", "FZF_DEFAULT_COMMAND=<redacted>", "LC_MEASUREMENT=<redacted>", "PWD=<redacted>", "MANPAGER=<redacted>", "SYSTEMD_EXEC_PID=<redacted>", "DISPLAY=<redacted>", "QT_IM_MODULE=<redacted>", "LS_COLORS=<redacted>", "LIBRARY_PATH=<redacted>", "TERM_PROGRAM_VERSION=<redacted>", "TMUX_PANE=<redacted>", "GIO_LAUNCHED_DESKTOP_FILE_PID=<redacted>", "ANSIBLE_NOCOWS=<redacted>", "SHLVL=<redacted>", "LOGNAME=<redacted>", "TERM=<redacted>", "FZF_ALT_C_COMMAND=<redacted>", "_=<redacted>", "DBUS_SESSION_BUS_ADDRESS=<redacted>", "TMUX=<redacted>", "GPG_TTY=<redacted>", "GOFLAGS=<redacted>", "XDG_RUNTIME_DIR=<redacted>", "SSH_AUTH_SOCK=<redacted>", "TERM_PROGRAM=<redacted>", "USER=<redacted>", "LC_TIME=<redacted>", "XDG_MENU_PREFIX=<redacted>", "XDG_CURRENT_DESKTOP=<redacted>", "LC_NUMERIC=<redacted>", "VISUAL=<redacted>", "SHELL=<redacted>", "HOME=<redacted>", "FZF_CTRL_T_COMMAND=<redacted>", "XDG_SESSION_TYPE=<redacted>", "SESSION_MANAGER=<redacted>", "GNOME_SETUP_DISPLAY=<redacted>", "FZF_DEFAULT_OPTS=<redacted>", "JOURNAL_STREAM=<redacted>", "EDITOR=<redacted>", "GDM_LANG=<redacted>", "COLORTERM=<redacted>", "LANG=<redacted>", "USERNAME=<redacted>", "XDG_SESSION_CLASS=<redacted>", "GDMSESSION=<redacted>", "XMODIFIERS=<redacted>", "XAUTHORITY=<redacted>", "WAYLAND_DISPLAY=<redacted>", "VIMRUNTIME=<redacted>", "XDG_DATA_DIRS=<redacted>", "LC_MONETARY=<redacted>", "LC_PAPER=<redacted>", "INVOCATION_ID=<redacted>", "NVIM_LOG_FILE=<redacted>", "XDG_SESSION_DESKTOP=<redacted>", "PAGER=<redacted>", "MANAGERPID=<redacted>", "DESKTOP_SESSION=<redacted>", "GOBIN=/home/magnus/.local/share/nvim/mason/.packages/gopls" }
}
[DEBUG K 01 veebr 2023 14:00:49] .../.local/share/nvim/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 36328
[DEBUG K 01 veebr 2023 14:00:51] .../.local/share/nvim/mason.nvim/lua/mason-core/process.lua:148: Job pid=36328 exited with exit_code=0, signal=0
[DEBUG K 01 veebr 2023 14:00:51] ...are/nvim/mason.nvim/lua/mason-core/installer/context.lua:179: Promoting cwd "/home/magnus/.local/share/nvim/mason/.packages/gopls" to "/home/magnus/.local/share/nvim/mason/packages/gopls"
[DEBUG K 01 veebr 2023 14:00:51] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:65: fs: mkdir /home/magnus/.local/share/nvim/mason/packages/gopls
[DEBUG K 01 veebr 2023 14:00:51] ...agnus/.local/share/nvim/mason.nvim/lua/mason-core/fs.lua:84: fs: rename /home/magnus/.local/share/nvim/mason/.packages/gopls /home/magnus/.local/share/nvim/mason/packages/gopls
[DEBUG K 01 veebr 2023 14:00:51] ...hare/nvim/mason.nvim/lua/mason-core/installer/linker.lua:81: Linking Package(name=gopls)
[DEBUG K 01 veebr 2023 14:00:51] ...hare/nvim/mason.nvim/lua/mason-core/installer/linker.lua:46: Linking bin "gopls" to "../packages/gopls/gopls"
[DEBUG K 01 veebr 2023 14:00:51] .../share/nvim/mason.nvim/lua/mason-core/installer/init.lua:30: Writing receipt for Package(name=gopls)
[INFO K 01 veebr 2023 14:00:51] .../share/nvim/mason.nvim/lua/mason-core/installer/init.lua:152: Installation succeeded for Package(name=gopls)
Neovim version (>= 0.7)
NVIM v0.8.2 Build type: RelWithDebInfo LuaJIT 2.1.0-beta3
Operating system/version
Linux fedora 6.1.7-100.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jan 18 18:37:43 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Healthcheck
mason: require("mason.health").check()
========================================================================
## mason.nvim report
- OK: neovim version >= 0.7.0
- OK: Go: `go version go1.18.10 linux/amd64`
- OK: cargo: `cargo 1.68.0-nightly (d992ab4e9 2023-01-10)`
- WARNING: luarocks: not available
- OK: Ruby: `ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]`
- OK: RubyGem: `3.3.26`
- OK: Composer: `Composer version 2.5.1 2022-12-22 15:33:54`
- OK: PHP: `PHP 8.1.14 (cli) (built: Jan 4 2023 06:45:14) (NTS gcc x86_64)`
- OK: npm: `8.19.2`
- OK: node: `v16.18.1`
- OK: python3: `Python 3.10.9`
- OK: pip3: `pip 21.3.1 from /usr/lib/python3.10/site-packages/pip (python 3.10)`
- WARNING: javac: not available
- OK: java: `openjdk version "17.0.5" 2022-10-18`
- WARNING: julia: not available
- OK: wget: `GNU Wget 1.21.3 built on linux-gnu.`
- OK: curl: `curl 7.82.0 (x86_64-redhat-linux-gnu) libcurl/7.82.0 OpenSSL/3.0.5 zlib/1.2.11 brotli/1.0.9 libidn2/2.3.4 libpsl/0.21.1 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.51.0 OpenLDAP/2.6.3`
- OK: gzip: `gzip 1.11`
- OK: tar: `tar (GNU tar) 1.34`
- WARNING: pwsh: not available
- OK: bash: `GNU bash, version 5.2.15(1)-release (x86_64-redhat-linux-gnu)`
- OK: sh: `Ok`
- OK: GitHub API rate limit. Used: 0. Remaining: 60. Limit: 60. Reset: K 01 veebr 2023 14:14:34.
Screenshots
No response