題 如何使用Homebrew安裝的Fish shell和NVM一起工作?


我正在嘗試使用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。

有人可以幫忙嗎?


4
2018-04-23 15:16


起源


你必須包裝nvm或創建/usr/local/opt/nvm/nvm.fish。 fish是一種與sh不同的語言,所以你必須做些什麼來讓nvm發出魚語法 - glenn jackman
啊,我覺得這很有道理,我完全錯過了。我將只使用魚包裝或只是安裝NVM而不是使用自製軟件。謝謝@glennjackman! - Sam


答案:


您可以使用 低音。 克隆git存儲庫

git clone https://github.com/edc/bass.git 

然後cd克隆目錄並輸入

make install
bass source ~/.nvm/nvm.sh ';' nvm use stable

現在你應該可以在fish shell中使用node了。


5
2017-08-03 08:39





如果你正在使用 哦,我的魚 你可以安裝nvm插件(用自製軟件安裝NVM後)。

$ omf install nvm

然後設置NVM_DIR,一切都應該沒問題。

$ set -gx NVM_DIR (brew --prefix nvm)

15
2017-12-03 10:18



不確定為什麼要downvote,這是我目前使用的... - George
互聯網上的其他選項就像step1 ... step2 ... step45 ...感謝快速簡單的解決方案 - codenamejames


我在裡面創建了以下函數 ~/.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

在與其他插件有幾個問題之後,這才起作用。


1
2017-09-12 10:50