Не удается выполнить nvm из нового bash

Когда я открываю новый bash, команда nvm не найдена. Кажется, что ~/.nvm/nvm.sh не загружается при запуске bash.

Я добавил строку ниже в ~/.bashrc

[[ -s /home/$USER/.nvm/nvm.sh ]] && . /home/$USER/.nvm/nvm.sh

Есть идеи, почему это происходит?


person gmartini20    schedule 23.06.2015    source источник
comment
Если вы запустите эту команду вручную из сеанса оболочки, она будет работать правильно, и nvm станет доступным?   -  person Etan Reisner    schedule 23.06.2015
comment
да, загружается правильно   -  person gmartini20    schedule 23.06.2015


Ответы (1)


Если вы работаете с новым экземпляром bash и у вас ЕСТЬ код инициализации в вашем файле ~/.bashrc, ~/.bash_profile и т. д., вам необходимо проверить этот файл инициализации на наличие условий.

В Ubuntu 14 есть:

case $- in
    *i*) ;;
      *) return;;
esac

В строке 6 это остановит его выполнение, если bash не запускается с флагом «-i» (интерактивный). Итак, вам нужно будет запустить:

bash -i

Также в конце файла есть

[ -z "$PS1" ] && return

Это остановит его выполнение, если он не будет запущен с установленным значением $PS1 (например, в удаленном сеансе ssh).

Если вы не хотите добавлять какие-либо переменные окружения или флаги, вам нужно будет удалить эти условия из вашего файла инициализации.

Надеюсь, это полезно.

person Alan Sikora    schedule 23.06.2015