在阅读了有关Ruby gem的文章之后,不知道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版本(即缺少 gem )来启动Rails服务器。您可以通过键入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/

10-13 09:42