我怎么知道我是否在使用 rbenv

How do I know if I'm using rbenv

在阅读了关于 Ruby gems 并且不知道 rbenv 或 RVM 是什么之后,我认为我应该拥有两者之一。

我尝试使用 Homebrew 安装 rbenv,但它告诉我我已经安装了 rbenv。我似乎总是在添加 gems 时遇到问题,并且通常最终使用 sudo 命令让它工作(我认为这是一个可怕的想法)。

我发现我在尝试添加 braintree API gem 时遇到了这些问题,并且每当我尝试启动服务器时都会遇到错误。

我试过的命令:

gem install "braintree"
bundle install
sudo gem install "braintree"

从 运行 rails server 收到的错误是:

"/config/initializers/braintree.rb:2:in `<top (required)="">': uninitialized constant Braintree::Configuratio (NameError)"

从顶部开始,rbenv 和 RVM 是 Ruby 版本管理器。这意味着您可以在您的计算机上同时安装多个版本的 Ruby 和 select 您想要使用的版本。我都使用过并且个人喜欢 rbenv 的方法。

话虽如此,我认为您需要删除正在安装的 gem 名称周围的引号。

此外,在您的 Gemfile 中是否列出了 braintree gem?它应该像 gem 'braintree'.

一样简单

如果您安装了 Ruby 的多个版本,或者即使您只有系统 Ruby 和安装了 RVM 或 rbenv 的版本,您可能会启动 Rails 服务器错误的 Ruby 版本(即缺少 gem)。你可以通过输入 which ruby 来查看它是否正在使用 rbenv,它应该用 .rbenv/ 打印一些东西。如果不是,您需要将 rbenv 设置为当前 ruby。你可以像 rbenv global 2.1.1 那样做,其中 2.1.1 是你用 rbenv 安装的 ruby 的版本。如果您还没有安装带有 rbenv 的版本,您可以使用 ruby-build 并执行 rbenv install 2.1.1 或任何您想要的版本。然后,当您启动 Rails 服务器时,在命令前加上 bundle exec.

您可以通过再次执行 rbenv local 2.1.1 为您的目录设置本地 ruby 版本,其中 2.1.1 是您想要的版本。

阅读 rbenv 文档将大有帮助。

要检查您是否在使用 rbenv,只需使用这个

rbenv

*检查是否列出了 'rbenv' 个命令

与 rvm 使用相同

rvm
  • 如果你在终端上写 rbenv 它会列出一些命令 如果你使用 rebenv else 它会写 "No command 'rbenv' found,"
  • 如果你在 temrinal 上写 rvm 如果你使用 rvm,它会列出一些命令,否则它会写 "No command 'rvm' found,"