ruby-on-rails – 我如何知道我是否使用rbenv

在阅读了关于
Ruby宝石并且不知道rbenv或RVM是什么之后,我想我应该有两个中的一个.

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

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

我试过的命令:

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

从运行rails服务器收到的错误是:

"/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).您可以通过键入哪个ruby来查看它是否正在使用rbenv,它应该使用.rbenv / what打印出来.如果不是,您需要将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文档将有很长的路要走.

点赞