我正在尝试尽可能多地使用 Homebrew 来管理我的 OSX 软件包。我已经使用 Homebrew 安装了 Fish Shell 和 NVM,但 Fish 无法识别我的 NVM 安装。使用 Bash 运行时,NVM 命令运行良好,可能是因为当您使用 Homebrew 安装 NVM 时,它让我在 .bashrc 文件中添加了一些额外的行。
使用 Homebrew 安装 NVM 后,系统显示:
Add NVM's working directory to your $HOME path (if it doesn't exist):
mkdir ~/.nvm
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's
equivalent configuration file:
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
此外,Homebrew 安装脚本似乎已将此行添加到我的 ~/.profile 中
source /usr/local/opt/nvm/nvm.sh
我希望可以使用相同的技术对 Fish 进行操作以访问 NVM 安装,但我似乎无法让它发挥作用。
我发现了这种技术:https://github.com/passcod/nvm-fish-wrapper 但我宁愿不包装 NVM。
有人可以帮忙吗?
答案1
您可以使用低音. 克隆 git 仓库
git clone https://github.com/edc/bass.git
然后进入克隆的目录并输入
make install
bass source ~/.nvm/nvm.sh ';' nvm use stable
现在您应该能够在 fish shell 中使用节点。
答案2
如果你使用哦我的鱼您可以安装 nvm 插件(使用 homebrew 安装 NVM 之后)。
$ omf install nvm
然后设置 NVM_DIR,一切就好了。
$ set -gx NVM_DIR (brew --prefix nvm)
答案3
我在里面创建了以下函数~/.config/fish/functions/nvm.fish
:
function _nvm
bass source (brew --prefix nvm)/nvm.sh --no-use ';' nvm $argv
end
function nvm
if test -e $NVM_CURRENT
echo Setting up nvm..
_nvm use default --silent
set -x -g NVM_CURRENT (_nvm current)
printf "Using Node %s\n" $NVM_CURRENT
end
_nvm $argv
end
在遇到其他插件的几个问题后,这个插件就解决了。