我正在尝试使用 Neovim 的GitHub 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。
因此,
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
'';