您尚未登录。

#1 2024-07-06 15:00:24

BRS5672023
会员
注册时间: 2020-07-07
帖子: 131

【已解决】关于 npm 安装 bash-language-server 遇到的问题

起因是我在 lazyvim 里面启用 util.dot 时,然后再准备用 nvim 编辑 dot 文件时出现报错

mason-lspconfig.nvim [mason-lspconfig.nvim] failed to install bashls. Installation logs are available in :Mason and :MasonLog

然后 MasonLog 里面的相关内容是

Installation failed for Package(name=bash-language-server) error=spawn: npm failed with exit code 1 and signal 0. 

因此我试了下在终端输入 npm i --verbose bash-language-server 然后终端的输出如下

npm verbose cli /usr/bin/node /usr/bin/npm
npm info using npm@10.8.1
npm info using node@v22.4.0
npm verbose title npm i bash-language-server
npm verbose argv "i" "--loglevel" "verbose" "bash-language-server"
npm verbose logfile logs-max:10 dir:/home/fan/.npm/_logs/2024-07-06T06_35_04_098Z-
npm verbose logfile /home/fan/.npm/_logs/2024-07-06T06_35_04_098Z-debug-0.log
npm verbose cwd /home/fan
npm verbose os Linux 6.9.8-2-cachyos
npm verbose node v22.4.0
npm verbose npm  v10.8.1
npm verbose exit 1
npm verbose code 1

并且 2024-07-06T06_35_04_098Z-debug-0.log 这个 log 文件里就是上面的内容。。

之后按照 Allow user-wide installations 这一段的内容设置了 .npmrc 如下

proxy=https://127.0.0.1:20172
https-proxy=https://127.0.0.1:20172
prefix=/home/fan/.local

另外我也通过

fish_add_path -m ~/.local/bin

设置了 $PATH 的内容。。

总之在上面的操作之后 npm i bash-language-server 还是有同样的报错(应该说 npm 安装 local package 都会有同样的报错),只能通过

sudo i -g bash-language-server

安装 package,并且似乎 lazyvim 还无法使用这个 global 的 bash-language-server。。

————————————————————————————————————————————

发现问题了。。就是 proxy 的格式有问题,proxy 的部分修改为

proxy=http://127.0.0.1:20172
https-proxy=http://127.0.0.1:20172

即可。。而且在环境变量设置为 https_proxy=127.0.0.1:20172.npmrc 的 proxy 内容为空时会出现 ERR_INVALID_URL 的错误。。

最近编辑记录 BRS5672023 (2024-07-06 19:40:37)

离线

页脚