在阅读了关于Ruby宝石并且不知道rbenv或RVM是什么之后,我想我应该有两个中的一个。
我尝试使用Homebrew安装rbenv但是它告诉我我已经安装了rbenv。我似乎总是在添加宝石时遇到问题,并且通常最终使用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)"
答案 0 :(得分:2)
从顶部开始,rbenv和RVM是Ruby版本管理器。这意味着您可以同时在计算机上安装多个版本的Ruby,并选择您要使用的版本。我已经使用了两种,并且个人喜欢rbenv的方法。
据说我认为你需要删除你正在安装的宝石名称周围的引号。
另外,在你的Gemfile中你是否列出了braintree gem?它应该像gem 'braintree'
一样简单。
如果您安装了多个版本的Ruby,或者即使您只有系统Ruby和安装了RVM或rbenv的版本,您可能会使用错误的Ruby版本启动Rails服务器(即它缺少gem)。您可以通过键入which ruby
来查看它是否正在使用rbenv,它应该用.rbenv/
打印出来的东西。如果不是,您需要将rbenv设置为当前的红宝石。您可以像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文档将有很长的路要走。
答案 1 :(得分:0)
要检查您是否使用rbenv,只需使用此
即可rbenv
*检查是否列出了'rbenv'命令
与rvm使用相同
rvm
答案 2 :(得分:0)