这是一个基本问题,但我一直在用头撞墻试图解决这个问题,但我被卡住了。
我正在克隆一个 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 ruby
or 时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 rbenv
rm -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
所以一切都到位并且作业正常
0 评论