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.22k stars 258 forks source link

Mason installs x86_64 but should install ARM build #1685

Open Pesky01 opened 2 months ago

Pesky01 commented 2 months ago

I've searched open issues for similar requests

I've manually reviewed logs to find potential errors

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

Problem description

I am installing "ols", the language server for Odin on my M1 Mac. Mason incorrectly installs the x86_64 version. What is the best way to fix this? Is editing the registry.json file fine? Or does this get auto-updated and will remove my edits after updating Mason.

In the registry.json I see this under the ols asset field, which I assume is wrong because arm64 and x64 should be separate file/bin.

        {
          "target": [
            "darwin_x64",
            "darwin_arm64"
          ],
          "file": "ols-x86_64-darwin",
          "bin": "ols-x86_64-darwin"
        },

Expected behavior

To install the correct binary

Steps to reproduce

  1. Open Mason
  2. Install ols on ARM

Affected packages

Ols

Neovim version (>= 0.7)

NVIM v0.9.5 Build type: Release LuaJIT 2.1.1703358377

Operating system/version

Darwin MacBook-Pro.local 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:12:41 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T8103 arm64

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-04-21-tubby-date` 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.24.5 built on darwin23.2.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 (arm64-apple-darwin23)`
- 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 luarocks: not available
  - ADVICE:
    - spawn: luarocks failed with exit code - and signal -. luarocks is not executable
- OK Ruby: `ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin23]`
- OK node: `v21.6.2`
- OK cargo: `cargo 1.77.2 (e52e36006 2024-03-26)`
- WARNING julia: not available
  - ADVICE:
    - spawn: julia failed with exit code - and signal -. julia is not executable
- WARNING java: not available
  - ADVICE:
    - spawn: java failed with exit code 1 and signal 0. The operation couldn’t be completed. Unable to locate a Java Runtime.
      Please visit http://www.java.com for information on installing Java.

- WARNING javac: not available
  - ADVICE:
    - spawn: javac failed with exit code 1 and signal 0. The operation couldn’t be completed. Unable to locate a Java Runtime.
      Please visit http://www.java.com for information on installing Java.

- OK npm: `10.2.4`
- OK python: `Python 3.12.2`
- OK RubyGem: `3.0.3.1`
- OK pip: `pip 24.0 from /opt/homebrew/lib/python3.12/site-packages/pip (python 3.12)`
- OK python venv: `Ok`

mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 0. Remaining: 60. Limit: 60. Reset: Sun Apr 21 18:29:59 2024.
  Install and authenticate via gh-cli to increase rate limit.

Screenshots or recordings

No response

Pesky01 commented 2 months ago

My guess is that ols was added to Mason before an arm build was supported. Now that ols-arm64-darwin at https://github.com/DanielGavin/ols/releases/download/nightly/ols-arm64-darwin is supported, the registry should be updated so the correct file is downloaded.