這是一個基本問題,但我一直在用頭撞墻試圖解決這個問題,但我被卡住了。
我正在克隆一個 Rails 專案。
當我運行時,bundle install我得到:
Your Ruby version is 2.6.8, but your Gemfile specified 2.5.5
所以我試圖確保我使用的是正確的版本rbenv versions。我得到:
system
* 2.5.5 (set by /Users/Mahmoud/dev-reps/non-docker/backend/.ruby-version)
這意味著 rbenv 正在使用正確的版本。現在我運行which bundle:
/usr/local/bin/bundle
這意味著 bundler 正在使用系統版本。
至于which -a bundle給:
/usr/local/bin/bundle
/usr/bin/bundle
此外,當我運行which rubyor 時which -a ruby,我得到:
/usr/bin/ruby
我試過的東西,指向隧道盡頭的光。當 [我根據這篇文章嘗試] 這個1:
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
并重新運行捆綁安裝,它可以作業。但問題是,這種變化不是持久的。我關閉 shell 并重試,我就在我開始的地方
在重新哈希等之后,我多次卸載并重新安裝了 bundler,但我仍然看到 rbenv 不受“控制”。它告訴我正在使用一個版本,但事實是正在使用系統版本。
更新
根據其中一條評論,我卸載了 rbenv 并重新下載。現在,rbenv rehash當我輸入以下內容后which ruby:
/Users/Mahmoud/.rbenv/shims/ruby
這是完美的。which bundle然而給出:
/usr/local/bin/bundle
所以問題仍然存在。我也試過gem install bundler,但當我輸入時仍然bundle install遇到同樣的問題。
我究竟做錯了什么?
uj5u.com熱心網友回復:
看起來您還沒有rbenv在 shell 中進行設定。您可以在此處的 rbenv 檔案中找到有關如何執行此操作的說明。
uj5u.com熱心網友回復:
Okkk,所以在幾個小時后,在評論和上面給出的答案的幫助下,我能夠讓它作業。
問題似乎是 rbenv 沒有正確設定。要修復它,要么卸載并重新安裝。這樣做是通過:
brew remove rbenvrm -rf ~/.rbenv- 洗掉了包含 rbenv 的一行
~/.zshrc
這洗掉了rbenv。然后我使用以下方法重新安裝:
brew install rbenv- 然后使用
rbenv init. 這有效地解決了rbenv的問題。現在重新啟動終端后,每當我運行時which ruby,我都會得到:
/Users/Mahmoud/.rbenv/shims/ruby
簡而言之,系統現在依賴 rbenv 進行 ruby?? 版本管理,而不是查看系統。這對于 rbenv 的作業至關重要,本質上這就是它的全部“存在理由”;將在您的 PC 上管理 ruby?? 的作業從您的 PC 上移除。
在這一步之后我跑了gem install bundler。當我運行which bundle它時,按照這一步會給出:
/Users/Mahmoud/.rbenv/shims/bundle
所以一切都到位并且作業正常
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/390030.html
下一篇:Sidekiq洗掉計劃檔案
