ruby-on-rails - 我怎么知道我是否在使用 rbenv

标签 ruby-on-rails ruby-on-rails-4 rbenv

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

我尝试使用 Homebrew 安装 rbenv,但它告诉我我已经安装了 rbenv。我似乎总是在添加 gem 时遇到问题,通常最终使用 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,并选择您想要使用的版本。我已经使用过这两种方法,而且我个人喜欢 rbenv 的方法。

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

另外,在您的 Gemfile 中是否列出了 Braintree gem?应该像gem 'braintree'一样简单.

如果您安装了多个版本的 Ruby,或者即使您只安装了系统 Ruby 和一个安装了 RVM 或 rbenv 的版本,您可能会使用错误的 Ruby 版本启动 Rails 服务器(即它缺少 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 文档会大有帮助。

关于ruby-on-rails - 我怎么知道我是否在使用 rbenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27869091/

相关文章:

ruby-on-rails - Michael Hartl Rails 教程第 10 章中的错误

css - rails 4 和 compass,如何只导入一次我的 sass 文件?

ruby - MailCatcher 不适用于 VM 上的 rbenv

javascript - rails 4 : jquery-turbolinks causing "Uncaught TypeError: Cannot read property ' length' of undefined"

ruby - 为每个 ruby​​ 版本重新安装每个 gem?

ruby - 升级了rbenv,仍然无法安装ruby 2.4.0

ruby-on-rails - Rails 4 - 通过 link_to 传递参数?

mysql - 为数据库 Ruby on Rails 配置项目

iphone - 在 iPhone 的 Objective-C 中从 Rails 解析 JSON 集合

ruby-on-rails - 为充满非资源性路线的 Controller 添加前缀