我如何永久修复“jekyll:未找到命令”错误?

我如何永久修复“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_profile 或 ~/.bash_login 存在,则 bash 不会读取此文件”。我再次运行前两个命令,用 .bash_profile 替换 .profile,但这似乎没有任何效果。

[[ -s "$HOME/.bash_profile" ]] && source "$HOME/.bash_profile"

我仍然收到 Jekyll 错误并且我的 .bash_profile 文件存在但是完全是空的。

有没有更永久的解决方法,还是每次我打开终端用 Jekyll 重建站点时都只能运行前两个命令?

答案1

~/.bashrc将被要求交互式+非登录shell

~/profile将要求交互式+登录 shell

推荐的方法是

[[ -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.profilebash_profile

答案2

您可以为以上三个命令创建别名。

alias jekyllb='[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" && [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" && jekyll build'

从今以后,无论何时运行,jekyllb所有三个命令都会按顺序运行。

相关内容