Как исправить ошибку 'jekyll: команда не найдена' навсегда?
Я установил Ruby, RVM и Jekyll, следуя этому руководству, и после этих действий все работает нормально.
Моя проблема в том, что каждый раз, когда я открываю новое окно терминала и хочу, чтобы Jekyll перестраивал сайт с помощью jekyll build
Я получаю ошибку jekyll: command not found
, Временным решением является повторное выполнение следующих двух команд из учебника, после чего Jekyll работает:
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Проверяя этот файл.profile, я заметил, что он говорит: "Этот файл не читается bash, если существует ~/.bash_profile или ~/.bash_login". Я запустил первые две команды, заменив.bash_profile на.profile, и это, похоже, не дало никакого эффекта.
[[ -s "$HOME/.bash_profile" ]] && source "$HOME/.bash_profile"
Я все еще получаю сообщение об ошибке Jekyll, и мой файл.bash_profile существует, но он полностью пуст.
Есть ли более постоянное исправление или я застреваю при запуске первых двух команд каждый раз, когда открываю терминал для перестройки сайта с помощью Jekyll?
2 ответа
~/.bashrc
будет вызываться для интерактивного + не логиншелл
в то время как ~/profile
будет вызываться для интерактивной + логин оболочки
Рекомендуемый способ положить
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
в ~/.profile
сам, но в .bash_profile
положил source "$HOME/.profile
,
И вторым способом было бы добавить
`[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" `
в вашем .bashrc
,
Вот почему второй способ не очень рекомендуется.
Еще .bashrc
,.profile
а также bash_profile
,
Вы можете создать псевдоним для вышеупомянутых трех команд.
alias jekyllb='[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" && [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" && jekyll build'
Следовательно, всякий раз, когда вы будете бежать jekyllb
Все три команды будут выполняться последовательно.