[英]RVM / rbenv / terminal $PATH error: (eval):18: parse error near `PATH=/usr/local/opt/...'
今天打開我的 Mac(Monterey 版本 12.4)終端時,我注意到以下錯誤:
(eval):18: parse error near `PATH=/usr/local/opt/...'
我懷疑這與我上周安裝和刪除 Ruby 版本管理器(RVM - https://rvm.io/ )有關。 當我嘗試使用 RVM 安裝 Ruby 2.6.1 時,安裝失敗,在進行一些研究后,看起來 RVM 在 Mac 上安裝舊版本的 Ruby 時存在問題。 因此,我刪除了 RVM 並安裝了 rbenv,這很有效。 無論如何,要卸載 RVM,我運行了:
rvm implode
我還從我的 bash_profile 中刪除了 RVM 行。 這一切都是上周完成的。
在我的終端中看到這個新錯誤后,我運行echo $PATH
,它輸出以下內容:
/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/francoortega/.rvm/bin
我猜這個 $PATH 的 .rvm 部分可能是問題的一部分。
接下來我運行open ~/.bash_profile
並open ~/.bashrc
,其中包含以下信息:
bash_profile
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*eval "$(rbenv init -)"
.bashrc
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
我嘗試從這些文件中刪除 rvm 信息,但這沒有任何效果,所以我撤消了這些刪除。 此外,bash_profile 有一行包含rvm和rbenv信息似乎很奇怪
然后,我運行open ~/.zshrc
,輸出如下:
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
eval "$(rbenv init - zsh)"export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.6.10/bin:$PATH"
我嘗試刪除 .rvm 行,但沒有效果,所以我取消了刪除。 然后,令人驚訝的是,當我刪除 rbenv 文件時,這消除了終端錯誤。
但是,我不想刪除 rbenv,所以我不確定修復此錯誤的正確方法是什么。
此外,我也找不到錯誤( /usr/local/opt/
)中列出的路徑。
既然我不再有 RVM,我應該從 bash_profile bashrc 和 .zshrc 文件中刪除 rvm 行嗎?
看起來以下步驟解決了我的問題:
eval "$(rbenv init - zsh)"export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.6.10/bin:$PATH"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*eval "$(rbenv init -)"
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
我的 .bashrc 和 .zshrc 文件現在是空的,我的 .bash_profile 只包含:
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
我的終端現在打開,沒有任何錯誤消息。
此外,我發現我的 .bash_profile 中的行同時提到了rvm和rbenv (參見上面的原始帖子),但閱讀 rbenv 文檔,結果發現我應該在安裝 rbenv 之前刪除 rvm,所以可能打開了 rvm我安裝 rbenv 時的機器是導致這個混搭的原因。
最后,正如我在原帖中提到的,我已經刪除了 rvm,但是今天我使用以下兩個命令刪除了 rbenv(它是通過 Homebrew 安裝的):
rm -rf `rbenv root`
brew uninstall rbenv
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.