如何将目录添加到 PATH?

How do I add directories to PATH?

长话短说,我正在尝试使用 LetsEncrypt 为自己颁发 SSL 证书,并且最近安装了 rbenv 以简化此过程。安装 rbenv 后,我使用

检查是否一切正常
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

我收到这条消息说没有安装 ruby 的版本。在尝试使用命令

安装 ruby 之后

"rbenv install 2.3.1"

我收到这个错误

rbenv: no such command `install'

是因为我的 rbenv 垫片的路径不在我的 PATH 变量中吗?如果是这种情况,我该如何将目录添加到我的 PATH 变量中?我知道你必须将它们添加到你的 bash_profile 文件中,但我不确定我需要在这个文件中的什么地方添加一些东西,以及我需要添加什么。

~/.bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

function letsencrypt_webfaction {
    PATH=$PATH:$GEM_HOME/bin GEM_HOME=$HOME/.letsencrypt_webfaction/gems RUBYLIB=$GEM_HOME/lib ruby2.2 $HOME/.letsencrypt_webfaction/gems/bin/letsencrypt_webfaction $*
}

eval "$(rbenv init -)"


PATH=$PATH:$HOME/bin

export PATH
export PATH="$HOME/.rbenv/bin:$PATH"

根据 documentation you should install the ruby-build 插件:

The rbenv install command doesn't ship with rbenv out of the box, but is provided by the ruby-build project.

编辑个人资料时务必小心。

最好先备份

  • 切换到主目录: cd
  • 列出隐藏文件: ls -la .bash*
  • 制作 .bash_profile 的备份副本: cp -p .bash_profile .bash_profile.bak
  • 检查当前路径:echo $PATH
  • 检查 ruby 是否在路径中:which ruby
  • 检查 ruby 版本:ruby --version

我不确定这个函数是从你的哪里来的。bash_profile: function letsencrypt_webfaction()

使用:作为分隔符并添加一个新目录new_dir到你的PATH,使用$PATH保留实际PATH的内容,然后导出新的PATH:

PATH=$PATH:/new_dir:/new_lib
export PATH

从终端验证 PATH 是否是您需要的:echo $PATH

我个人建议按原样备份 .bash_profile。用 # 注释掉函数的 3 行和出现 PATH 的其他行并添加:

export RUBYLIB=$HOME/lib
export GEM_HOME=$HOME/gems
export PATH=$HOME/bin:$PATH:

在此之后,请检查上面的要点,看看您是否拥有您期望的 ruby 版本。