Como conseguir que o Fish shell e o NVM instalados com o Homebrew funcionem juntos?

4

Estou tentando gerenciar meus pacotes para o OSX usando o Homebrew tanto quanto eu puder. Eu instalei tanto a Fish Shell quanto a NVM usando o Homebrew, mas não consegui chamar Fish para reconhecer minha instalação NVM. Os comandos NVM são executados corretamente quando executados com o Bash, provavelmente porque, quando você instala o NVM usando o Homebrew, tive que adicionar algumas linhas extras ao meu arquivo .bashrc.

Após instalar o NVM com o Homebrew, ele diz:

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

Também parece que o script de instalação do Homebrew adicionou essa linha ao meu ~ / .profile

source /usr/local/opt/nvm/nvm.sh

Espero que seja possível usar essa mesma técnica com o Fish para também obter acesso à instalação da NVM, mas parece que não consigo fazer isso funcionar.

Eu encontrei esta técnica: link Mas eu prefiro não ter que embrulhar NVM.

Alguém pode ajudar?

    
por Sam 23.04.2015 / 17:16

3 respostas

5

Você pode usar Bass . Clone o repositório git

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

Em seguida, digite cd no diretório clonado e digite

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

Agora você deve poder usar o nó dentro do fish shell.

    
por 03.08.2015 / 10:39
15

Se você estiver usando oh my fish , você pode instalar o plugin nvm (depois de instalar NVM com homebrew).

$ omf install nvm

Em seguida, defina o NVM_DIR e tudo deve ficar bem.

$ set -gx NVM_DIR (brew --prefix nvm)
    
por 03.12.2015 / 11:18
1

Eu criei a seguinte função dentro de ~/.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

Depois de ter vários problemas com outros plugins, isso simplesmente funciona.

    
por 12.09.2018 / 12:50