如何使 NodeJS 在 Vim 插件的路径上可用?

问题描述 投票:0回答:1

我正在尝试使用 NeovimGitHub Copilot 插件,它已经可以从 Nixpkgs 以

copilot-vim
的形式获得。安装后,用
:Copilot setup
运行插件给我
Copilot: 'Node.js not found in PATH'
.

我以为我可以通过覆盖添加 NodeJS,就像这样:

      (final: prev: {
        copilot-vim = prev.copilot-vim.overrideAttrs (old: {
          nativeBuildInputs = old.nativeBuildInputs ++ [prev.nodejs];
          buildInputs = old.buildInputs ++ [prev.nodejs];
        });
      })

但这并不能使错误消失。

我知道我可以用任何方式安装 NodeJS。但我的目标是在 PATH 上添加 NodeJS 作为该插件的依赖项,而不是以解耦的方式添加 NodeJS。

nix github-copilot nixpkgs
1个回答
1
投票

因此,

buildInputs
仅在构建期间使 nodejs 可用。但是如果构建输出没有以对 nodejs 的引用结束,它就不会出现在完成的包中。 查看
copilot-vim
的代码,似乎您想修补这一行:

  let node = get(g:, 'copilot_node_command', '')

将您包含的节点版本作为默认版本。

我可能会做这样的事情:

  postInstall = ''
    sed -i "s!  let node = get(g:, 'copilot_node_command', ''\'''\')!  let node = get(g:, 'copilot_node_command', '${prev.nodejs}/bin/node')!g" $out/autoload/copilot/agent.vim
  '';
© www.soinside.com 2019 - 2024. All rights reserved.