每次打开终端时,我都会收到此错误:
警告:PATH 设置为 RVM ruby 但未设置 GEM_HOME 和/或 GEM_PATH,请参阅: https://github.com/wayneeseguin/rvm/issues/3212
这是在我最近安装了 zsh (oh-my-zsh) 后开始发生的
我不知道如何设置 GEM_HOME 和/或 GEM_PATH 的路径。
我也面临同样的问题,更改.zshrc中的以下行,
export PATH="/usr/local/heroku/bin: .........."
到
export PATH="$PATH:/usr/local/heroku/bin: .........."
这对我有用。
谢谢
oh-my-zsh & rvm & nvm
同样的问题,花了我几天时间。最后,我只是注释掉覆盖 PATH 的行,并在 .zshrc 文件中加载 rvm 和 nvm 。所有问题都消失了。
这是我的 .zshrc 文件:
# User configuration
# export PATH="$PATH:/Users/xxx/.rvm/gems/ruby-2.1.1/bin:/Users/xxx/.rvm/gems/ruby-2.1.1@global/bin:/Users/xxx/.rvm/rubies/ruby-2.1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/xxx/.rvm/bin"
# export MANPATH="/usr/local/man:$MANPATH"
source $ZSH/oh-my-zsh.sh
export NVM_DIR="/Users/xxx/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
希望有用!
尝试从 .zlogin (或类似名称的 .zXYZ)文件中注释掉,该文件位于与 .zshrc 文件相同的主目录中
看来我的 .zsh cli 正在尝试将 RVM 作为函数加载到 shell 会话中。
这在 .zshrc 文件中并不明显,而是在名为 .zlogin 的文件中(这在您的系统上可能有所不同。)
在使用我的 .zshrc 文件并调整此处和其他地方建议的所有内容后,我看到我有一个 .zlogin 文件,我认为该文件有问题:[[ -s "$HOME/.rvm/scripts/rvm " ]] && source "$HOME/.rvm/scripts/rvm" # 将 RVM 加载到 shell 会话中作为函数
我注释掉了该行并解决了问题(也称为每次打开 zsh cli 命令行时重复出现的错误消息)。让我们看看这是否会破坏其他东西......
此处的错误消息显示,虽然您的 PATH 设置为使用 RVM 的 Ruby,但未设置 GEM_HOME 和/或 GEM_PATH 环境变量。 这些变量很重要,因为它们告诉 Ruby 在哪里安装和寻找 gem。
要解决此问题,您需要设置 GEM_HOME 和 GEM_PATH 环境变量。您可以通过将以下行添加到 shell 配置文件(例如
.bashrc
、.bash_profile
或 .zshrc
)来完成此操作:
export GEM_HOME="$HOME/.gem"
export GEM_PATH="$HOME/.gem"
添加这些行后,您需要获取 shell 配置文件以应用更改:
source ~/.bashrc # or
source ~/.bash_profile # or
source ~/.zshrc
然后,您可以通过运行来检查环境变量是否设置正确:
echo $GEM_HOME
echo $GEM_PATH
如果一切设置正确,两个命令都应输出 .gem 目录的路径。