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

Installation of LSPs fails because directory already exists #1615

Open nova-ace opened 5 months ago

nova-ace commented 5 months ago

I've searched open issues for similar requests

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

Problem description

Installation of LSP packages fails during rename of .../staging/ to .../packages/. This may be a unique problem to the filesystem that I am on in Rocky Linux 9 (BeeGFS). I was able to workaround the issue by commenting out line 235 in mason-core/instealler/context.lua:

-- fs.async.mkdir(install_path)

This occurs with any package I attempt to install not just lua-language-server

Expected behavior

Possibly check for the above rename failure and revert to a copy operation.

Affected packages

All

Mason output

None captured. Ran nvim MasonInstall in headless for troubleshooting.

Installation log

[INFO  Tue 30 Jan 2024 04:15:17 PM MST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:184: Executing installer for Package(name=lua-language-server) {}
[DEBUG Tue 30 Jan 2024 04:15:17 PM MST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:58: Attempting to lock package Package(name=lua-language-server)
[DEBUG Tue 30 Jan 2024 04:15:17 PM MST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:70: Wrote lockfile Package(name=lua-language-server)
[DEBUG Tue 30 Jan 2024 04:15:17 PM MST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server
[DEBUG Tue 30 Jan 2024 04:15:17 PM MST] ...zy/mason.nvim/lua/mason-core/installer/registry/init.lua:149: Compiling installer. lua-language-server {}
[DEBUG Tue 30 Jan 2024 04:15:17 PM MST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server/libexec
[DEBUG Tue 30 Jan 2024 04:15:17 PM MST] ...azy/mason.nvim/lua/mason-core/installer/managers/std.lua:96: std: downloading file "https://github.com/luals/lua-language-server/releases/download/3.7.4/lua-language-server-3.7.4-linux-x64.tar.gz"
[DEBUG Tue 30 Jan 2024 04:15:17 PM MST] ...ocal/share/nvim/lazy/mason.nvim/lua/mason-core/fetch.lua:37: Fetching URL "https://github.com/luals/lua-language-server/releases/download/3.7.4/lua-language-server-3.7.4-linux-x64.tar.gz"
[DEBUG Tue 30 Jan 2024 04:15:17 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="curl", spawn_opts={
  args = { "-H", "User-Agent: mason.nvim v1.10.0 (+https://github.com/williamboman/mason.nvim)", "-fsSL", "-X", "GET", "-o", "/mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server/libexec/lua-language-server-3.7.4-linux-x64.tar.gz", "--connect-timeout", 30, "https://github.com/luals/lua-language-server/releases/download/3.7.4/lua-language-server-3.7.4-linux-x64.tar.gz" }
}
[DEBUG Tue 30 Jan 2024 04:15:17 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 126872
[DEBUG Tue 30 Jan 2024 04:15:18 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:148: Job pid=126872 exited with exit_code=0, signal=0
[DEBUG Tue 30 Jan 2024 04:15:18 PM MST] ...azy/mason.nvim/lua/mason-core/installer/managers/std.lua:235: std: unpack "lua-language-server-3.7.4-linux-x64.tar.gz"
[DEBUG Tue 30 Jan 2024 04:15:18 PM MST] ...azy/mason.nvim/lua/mason-core/installer/managers/std.lua:110: std: untar "lua-language-server-3.7.4-linux-x64.tar.gz"
[DEBUG Tue 30 Jan 2024 04:15:18 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="gtar", spawn_opts={
  args = { "--no-same-owner", "-xvf", "lua-language-server-3.7.4-linux-x64.tar.gz" },
  cwd = "/mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server/libexec"
}
[DEBUG Tue 30 Jan 2024 04:15:18 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 126915
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:148: Job pid=126915 exited with exit_code=0, signal=0
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:59: fs: unlink /mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server/libexec/lua-language-server-3.7.4-linux-x64.tar.gz
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...mason.nvim/lua/mason-core/installer/registry/schemas.lua:52: schemas: download Package(name=lua-language-server) {
  lsp = "vscode:https://raw.githubusercontent.com/LuaLS/vscode-lua/master/package.json"
}
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:65: fs: mkdir /mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server/mason-schemas
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...ocal/share/nvim/lazy/mason.nvim/lua/mason-core/fetch.lua:37: Fetching URL "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/package.json"
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="curl", spawn_opts={
  args = { "-H", "User-Agent: mason.nvim v1.10.0 (+https://github.com/williamboman/mason.nvim)", "-fsSL", "-X", "GET", "--connect-timeout", 30, "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/package.json" }
}
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 126917
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:148: Job pid=126917 exited with exit_code=0, signal=0
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...zy/mason.nvim/lua/mason-core/installer/registry/link.lua:139: Registering bin links Package(name=lua-language-server) {
  ["lua-language-server"] = "{{source.asset.bin}}"
}
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="chmod", spawn_opts={
  args = { "+x", "lua-language-server" },
  cwd = "/mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server"
}
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 126919
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:148: Job pid=126919 exited with exit_code=0, signal=0
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...zy/mason.nvim/lua/mason-core/installer/registry/link.lua:166: Expanded bin link "lua-language-server" -> "lua-language-server"
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...vim/lazy/mason.nvim/lua/mason-core/installer/context.lua:229: Promoting cwd "/mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server" to "/mnt/beegfs/home/jake/.local/share/nvim/mason/packages/lua-language-server"
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:47: fs: rmrf /mnt/beegfs/home/jake/.local/share/nvim/mason/packages/lua-language-server
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:65: fs: mkdir /mnt/beegfs/home/jake/.local/share/nvim/mason/packages/lua-language-server
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:84: fs: rename /mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server /mnt/beegfs/home/jake/.local/share/nvim/mason/packages/lua-language-server
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:59: fs: unlink /mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server.lock
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:47: fs: rmrf /mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:39: Building receipt for Package(name=lua-language-server)
[DEBUG Tue 30 Jan 2024 04:15:20 PM MST] ...nvim/lazy/mason.nvim/lua/mason-core/installer/linker.lua:42: Unlinking Package(name=lua-language-server)
[ERROR Tue 30 Jan 2024 04:15:20 PM MST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:249: Installation failed for Package(name=lua-language-server) error="EEXIST: file already exists: /mnt/beegfs/home/jake/.local/share/nvim/mason/staging/lua-language-server -> /mnt/beegfs/home/jake/.local/share/nvim/mason/packages/lua-language-server"

Neovim version (>= 0.7)

NVIM v0.9.5 Build type: Release LuaJIT 2.1.1692716794

Operating system/version

Rocky Linux 9.1 (5.14.0-284.25.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 2 14:53:30 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux)

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-01-30-jade-doubt` 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.1 built on linux-gnu.`
- OK curl: `curl 7.76.1 (x86_64-redhat-linux-gnu) libcurl/7.76.1 OpenSSL/3.0.7 zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.1 (+libidn2/2.3.0) libssh/0.10.4/openssl/zlib nghttp2/1.43.0`
- OK gzip: `gzip 1.12`
- OK gtar: `tar (GNU tar) 1.34`
- OK bash: `GNU bash, version 5.1.8(1)-release (x86_64-redhat-linux-gnu)`
- OK sh: `Ok`

mason.nvim [Languages] ~
- WARNING Go: not available
  - ADVICE:
    - spawn: go failed with exit code - and signal -. go 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
- WARNING npm: not available
  - ADVICE:
    - spawn: npm failed with exit code - and signal -. npm is not executable
- WARNING node: not available
  - ADVICE:
    - spawn: node failed with exit code - and signal -. node is not executable
- WARNING cargo: not available
  - ADVICE:
    - spawn: cargo failed with exit code - and signal -. cargo is not executable
- WARNING luarocks: not available
  - ADVICE:
    - spawn: luarocks failed with exit code - and signal -. luarocks is not executable
- WARNING julia: not available
  - ADVICE:
    - spawn: julia failed with exit code - and signal -. julia is not executable
- WARNING Ruby: not available
  - ADVICE:
    - spawn: ruby failed with exit code - and signal -. ruby is not executable
- WARNING RubyGem: not available
  - ADVICE:
    - spawn: gem failed with exit code - and signal -. gem is not executable
- OK python: `Python 3.9.16`
- OK java: `openjdk version "11.0.20" 2023-07-18 LTS`
- OK javac: `Ok`
- OK pip: `pip 21.2.3 from /usr/lib/python3.9/site-packages/pip (python 3.9)`
- OK python venv: `Ok`

mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 21. Remaining: 39. Limit: 60. Reset: Tue 30 Jan 2024 04:52:15 PM MST.
  Install and authenticate via gh-cli to increase rate limit.

Screenshots

No response