安装 fish 后 node 失效

gomkiri 发布于 2025-11-23 94 次阅读


AI 摘要

在Ubuntu安装fish后node失效?WSL环境下的路径冲突导致系统误读Windows节点。通过安装Fisher和nvm.fish插件,重新配置Node版本优先级,解决shell环境兼容问题。

这里记录一下在 Ubuntu 中安装 fish 后发现 node 失效(报错找不到 node)的解决方法,同时留下一个 TODO :为什么,及相关原理

目前大致了解的是: Bash 使用 .bashrc 记录了node 的位置,而 fish 不会使用这个配置文件,结果转头去找 windows 中的 node 去了(我使用的是 WSL),然后就是找到了但是不能用(系统不兼容)

解决:

安装 Fisher :curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher

安装适配 Fish 的 NVM 插件:fisher install jorgebucaran/nvm.fish

重新安装对应版本的 Node:nvm install 20 . nvm use 20

理论上到这里就可以,但是我发现依然不行,分析可能是优先级问题,没办法,继续搞

强制设置 NVM 默认版本 : set -U nvm_default_version 20 ,然后再在当前会话中加载一次:nvm use 20

如果依然访问不到我们之前使用 npm 下载的内容,可以试试再删除重新下载一次。

就这样,结束。

小码农 & GPT调教糕手
最后更新于 2025-11-23