Giter VIP home page Giter VIP logo

Comments (20)

3rd avatar 3rd commented on July 17, 2024 3

Pinned this and disabled rockspec until we find a workaround @abdulrahmanDev1 @kevinm6
There is a discussion about this on Reddit, I'm not that familiar with rocks, hopefully we can find the right way to do things soon: https://www.reddit.com/r/neovim/comments/1dng1d6/comment/lc2t5uh/

from image.nvim.

onurcanbektas avatar onurcanbektas commented on July 17, 2024 2

Same here

from image.nvim.

3rd avatar 3rd commented on July 17, 2024 2

hey @kevinm6 do you know how we could avoid this? i think we don't have to force users to have a global lua 5.1 install (that fixes it) since it will be loaded by luajit anyway right?

from image.nvim.

3rd avatar 3rd commented on July 17, 2024 2

I think if you install 5.1 globally it should just work, luarocks.nvim says it needs a global LuaJIT/Lua 5.1 installation.

from image.nvim.

kevinm6 avatar kevinm6 commented on July 17, 2024 2

Hey guys @kevinm6 i'm stucked in the same point, so should i install globally lua 5.1 and also the the hererocks key on true, like this?

  rocks = {
    hererocks = true,
  },

Sorry, maybe I wasn't clear.. the option rocks.hererocks = true is Lazy's one (it installs another plugin that is a python script and manage the rocks and lua versions installs).
If you enable it, it works without having to install manually Lua5.1 and make it available on $PATH.

There are other ways you can fix it, as reported from @3rd, like just install and make lua5.1 available on $PATH or if you stick with luarocks.nvim, just do it as before.

from image.nvim.

kevinm6 avatar kevinm6 commented on July 17, 2024 2

@kevinm6 @3rd working on my end without erros, i've added the hererocks line that @kevinm6 has suggested. Thank you both guys

@sebalfaro @abdulrahmanDev1
Glad it helped. The amazing job is @3rd 's one, it seems now, my little contribution created more issues than benefits!

from image.nvim.

kevinm6 avatar kevinm6 commented on July 17, 2024 1

Hi @3rd .. unfortunately for now it's required from Lazy the [email protected] !
A workaround is the one reported in the Lazy UI warnings (or checkhealth), in Lazy config set this

rocks = {
  hererocks = true
}

Another pointer where it was discussed

from image.nvim.

kevinm6 avatar kevinm6 commented on July 17, 2024 1

@3rd luajit is installed with neovim when using brew because it's a core dependency. I have it now and I see the error about missing magick rock.

@kapral18
If you update image.nvim to the last commit, you should follow the Installation steps and requirements as before

from image.nvim.

sebalfaro avatar sebalfaro commented on July 17, 2024 1

@kevinm6 @3rd working on my end without erros, i've added the hererocks line that @kevinm6 has suggested. Thank you both guys

  rocks = {
    hererocks = true,
  },

from image.nvim.

abdulrahmanDev1 avatar abdulrahmanDev1 commented on July 17, 2024 1

Thank you guys it's fixed for me too after I added the hererocks line I tried to do it before but it didn't work out for me,
Thank you all.

from image.nvim.

kevinm6 avatar kevinm6 commented on July 17, 2024 1

@joncrangle I think you can improve it and use Lazy cond to do not load a plugin if the condition isn't satisfied.

return {
{
   '3rd/image.nvim',
    -- Disable on Windows system
    cond = function()
       return vim.fn.has 'win32' ~= 1 
    end,
    dependencies = {
       'leafo/magick',
    },
    opts = {
       -- image.nvim config
    }
}
}

from image.nvim.

3rd avatar 3rd commented on July 17, 2024

What I think I'm missing is why is having a specific Lua version installed externally required when the end goal is pulling luarocks that will be executed with the LuaJIT bundled by Neovim anyway - I don't think I understand how it works. Is it for a build step on some of the rocks? Or is the external Lua installation used at runtime?

from image.nvim.

kevinm6 avatar kevinm6 commented on July 17, 2024

I think is due to some internals of Lazy that are really integrated with Neovim, since that's the one that needs [email protected] and the way it loads the modules at runtime.

I don't think depends on something relative to LuaJIT or the rock build itself, since I'm capable of build it without Lua5.1 and in multiple ways outside NeoVim

from image.nvim.

sebalfaro avatar sebalfaro commented on July 17, 2024

Hey guys @kevinm6 i'm stucked in the same point, so should i install globally lua 5.1 and also the the hererocks key on true, like this?

return {
  "3rd/image.nvim",
  dependencies = {
    "leafo/magick",
    "nvim-treesitter/nvim-treesitter",
    {
      "vhyrro/luarocks.nvim",
      opts = {
        rocks = {
          hererocks = true,
        },
      },
    },
  },

from image.nvim.

sebalfaro avatar sebalfaro commented on July 17, 2024

Thank you @3rd

from image.nvim.

kapral18 avatar kapral18 commented on July 17, 2024

@3rd luajit is installed with neovim when using brew because it's a core dependency. I have it now and I see the error about missing magick rock.

from image.nvim.

3rd avatar 3rd commented on July 17, 2024

@kevinm6 no no, your contribution is great, so Lazy requires Lua 5.1 installed correct?
Then we can re-enable the rockspec and document that requirement as well, would that be the best?

from image.nvim.

sebalfaro avatar sebalfaro commented on July 17, 2024

@3rd at least in my case it wasn't necessary to install neither Lua 5.1 nor magick locally, just adding the hererocks line in the lazy.lua file

from image.nvim.

kevinm6 avatar kevinm6 commented on July 17, 2024

@kevinm6 no no, your contribution is great, so Lazy requires Lua 5.1 installed correct?

Yes, Lazy requires lua5.1 for the luarocks, due to its integration.

Then we can re-enable the rockspec and document that requirement as well, would that be the best?

I think should be fine if it's okay for you!
We could try to make it really clear in the README and probably is the better choice to use so far, since is reported from Lazy's developer

from image.nvim.

joncrangle avatar joncrangle commented on July 17, 2024

Thanks for everyone's help in this thread. Since I didn't have any other rocks installed in my config, I found that adding the hererocks rock to my lazy config wasn't enough. I needed to specify the magick dependency to initiate hererocks getting added as a plugin and the magick plugin bindings getting built. Sharing my setup (with a utility function I use to disable on Windows) in case anyone else runs into this and might find it helpful:

return {
  {
    '3rd/image.nvim',
    -- Utility function to disable on Windows system
    enabled = function()
      if vim.fn.has 'win32' == 1 then
        return false
      else
        return true
      end
    end,
    dependencies = {
      'leafo/magick',
    },
    opts = {
      -- ... image.nvim config
    },
  },
}

from image.nvim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.