拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 捆绑器使用系统ruby??版本而不是下载

捆绑器使用系统ruby??版本而不是下载

白鹭 - 2022-01-26 1988 0 0

这是一个基本问题,但我一直在用头撞墻试图解决这个问题,但我被卡住了。

我正在克隆一个 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 没有正确设定。要修复它,要么卸载并重新安装。这样做是通过:

  1. brew remove rbenv
  2. rm -rf ~/.rbenv
  3. 洗掉了包含 rbenv 的一行 ~/.zshrc

这洗掉了rbenv。然后我使用以下方法重新安装:

  1. brew install rbenv
  2. 然后使用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 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *