wbthomason / packer.nvim

A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config
MIT License
7.85k stars 265 forks source link

Plugins are failing to update/install. #1207

Closed AniAggarwal closed 1 year ago

AniAggarwal commented 1 year ago

Features: +acl +iconv +tui See ":help feature-compile"

system vimrc file: "$VIM/sysinit.vim" fall-back for $VIM: "/__w/neovim/neovim/build/nvim.AppDir/usr/share/nvim"

Run :checkhealth for more info

- `git --version`:

git version 1.8.3.1

- Operating system/version:
Output of `cat /etc/os-release`:

NAME="Red Hat Enterprise Linux Server" VERSION="7.9 (Maipo)" ID="rhel" ID_LIKE="fedora" VARIANT="Server" VARIANT_ID="server" VERSION_ID="7.9" PRETTY_NAME="Red Hat Enterprise Linux" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server" HOME_URL="https://www.redhat.com/" BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7" REDHAT_BUGZILLA_PRODUCT_VERSION=7.9 REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" REDHAT_SUPPORT_PRODUCT_VERSION="7.9"

- Terminal name/version:
SSH'd via Kitty on local Ubuntu 22.04. Kitty version 0.26.5

### Steps to reproduce
Run `:PackerSync`.

### Actual behaviour

Update/installation of all plugins fail.
![image](https://user-images.githubusercontent.com/52252926/216362591-a2bb7618-30bd-4c3a-ac0b-f92e8030f3c5.png)

### Expected behaviour

Installation is successful.

### packer files

<details>
<summary>Plugin specification file(s)</summary>
```lua

local fn = vim.fn

-- Automatically install packer
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then
    PACKER_BOOTSTRAP = fn.system({
        "git",
        "clone",
        "--depth",
        "1",
        "https://github.com/wbthomason/packer.nvim",
        install_path,
    })
    print("Installing packer close and reopen Neovim...")
    vim.cmd([[packadd packer.nvim]])
end

-- Autocommand that reloads neovim whenever you save the plugins.lua file
vim.cmd([[
augroup packer_user_config
    autocmd!
    autocmd BufWritePost plugins.lua source <afile> | PackerSync
augroup end
]])

-- Use a protected call so we don't error out on first use
local status_ok, packer = pcall(require, "packer")
if not status_ok then
    return
end

packer.init({
    max_jobs = 1,

    git = {
        cmd = 'git', -- The base command for git operations
        subcommands = { -- Format strings for git subcommands
          update         = 'pull --ff-only --progress --no-rebase',
          install        = 'clone --depth %i --no-single-branch --progress',
          fetch          = 'fetch --depth 999999 --progress',
          checkout       = 'checkout %s --',
          update_branch  = 'merge --ff-only @{u}',
          current_branch = 'branch --show-current',
          diff           = 'log --color=never --pretty=format:FMT --no-show-signature HEAD@{1}...HEAD',
          diff_fmt       = '%%h %%s (%%cr)',
          get_rev        = 'rev-parse --short HEAD',
          get_msg        = 'log --color=never --pretty=format:FMT --no-show-signature HEAD -n 1',
          submodules     = 'submodule update --init --recursive --progress'
        },
        depth = 1, -- Git clone depth
        clone_timeout = 60, -- Timeout, in seconds, for git clones
        default_url_format = 'https://github.com/%s' -- Lua format string used for "aaa/bbb" style plugins
      },
})

return packer.startup(function(use)
    use({ "wbthomason/packer.nvim" }) -- Have packer manage itself

    -- Colorschemes and looks
    use({ "joshdick/onedark.vim" }) -- A lua alternative to look into monsonjeremy/onedark.nvim
    use({ "kyazdani42/nvim-web-devicons" })

    if PACKER_BOOTSTRAP then
        require("packer").sync()
    end
end)

I have a mostly minimal config now. Should be noted that I am running this on a server on which I do not have root access. Additionally, the number of forks I can create is limited, so I have set the max jobs to 1 to prevent other errors. Finally, because of the old git version, I changed --rebase=false, which previous errored as an undefined flag, to --no-rebase. The rest of the config passed to packer.init should be copied from the defaults.

packer log file ``` [WARN Thu 02 Feb 2023 10:15:37 AM EST 1.5583658151613e+15] .../site/pack/packer/start/packer.nvim/lua/packer/clean.lua:79: Cleaning cancelled! ```
packer compiled file ```lua -- Automatically generated packer.nvim plugin loader code if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') return end vim.api.nvim_command('packadd packer.nvim') local no_errors, error_msg = pcall(function() _G._packer = _G._packer or {} _G._packer.inside_compile = true local time local profile_info local should_profile = false if should_profile then local hrtime = vim.loop.hrtime profile_info = {} time = function(chunk, start) if start then profile_info[chunk] = hrtime() else profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 end end else time = function(chunk, start) end end local function save_profiles(threshold) local sorted_times = {} for chunk_name, time_taken in pairs(profile_info) do sorted_times[#sorted_times + 1] = {chunk_name, time_taken} end table.sort(sorted_times, function(a, b) return a[2] > b[2] end) local results = {} for i, elem in ipairs(sorted_times) do if not threshold or threshold and elem[2] > threshold then results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' end end if threshold then table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') end _G._packer.profile_output = results end time([[Luarocks path setup]], true) local package_path_str = "/afs/glue.umd.edu/home/glue/a/n/anirud/home/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/afs/glue.umd.edu/home/glue/a/n/anirud/home/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/afs/glue.umd.edu/home/glue/a/n/anirud/home/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/afs/glue.umd.edu/home/glue/a/n/anirud/home/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" local install_cpath_pattern = "/afs/glue.umd.edu/home/glue/a/n/anirud/home/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" if not string.find(package.path, package_path_str, 1, true) then package.path = package.path .. ';' .. package_path_str end if not string.find(package.cpath, install_cpath_pattern, 1, true) then package.cpath = package.cpath .. ';' .. install_cpath_pattern end time([[Luarocks path setup]], false) time([[try_loadstring definition]], true) local function try_loadstring(s, component, name) local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) if not success then vim.schedule(function() vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) end) end return result end time([[try_loadstring definition]], false) time([[Defining packer_plugins]], true) _G.packer_plugins = { ["nvim-web-devicons"] = { loaded = true, path = "/afs/glue.umd.edu/home/glue/a/n/anirud/home/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", url = "https://github.com/kyazdani42/nvim-web-devicons" }, ["onedark.vim"] = { loaded = true, path = "/afs/glue.umd.edu/home/glue/a/n/anirud/home/.local/share/nvim/site/pack/packer/start/onedark.vim", url = "https://github.com/joshdick/onedark.vim" }, ["packer.nvim"] = { loaded = true, path = "/afs/glue.umd.edu/home/glue/a/n/anirud/home/.local/share/nvim/site/pack/packer/start/packer.nvim", url = "https://github.com/wbthomason/packer.nvim" } } time([[Defining packer_plugins]], false) _G._packer.inside_compile = false if _G._packer.needs_bufread == true then vim.cmd("doautocmd BufRead") end _G._packer.needs_bufread = false if should_profile then save_profiles() end end) if not no_errors then error_msg = error_msg:gsub('"', '\\"') vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') end ```
frantathefranta commented 1 year ago

Your git version is too old, it doesn't support some flags for the update, get_header and submodules subcommands in packer.lua.

They need to look like this in the file:

...
update = 'pull --ff-only --progress --no-rebase'
get_header = 'log --color=never --pretty=format:FMT HEAD -n 1'
submodules = 'submodule update --init --recursive'
...