Bundler::GemRequireError 尝试 运行 一个 rails 应用时

Bundler::GemRequireError when trying to run a rails app

在尝试 运行 rails 应用程序时,出现以下错误

rails s -p 5000
    /home/user/.rvm/gems/ruby-2.1.6/gems/tlsmail-0.0.1/lib/net/smtp.rb:806: warning: already initialized constant Net::SMTPSession
    /home/user/.rvm/gems/ruby-2.1.6/gems/tlsmail-0.0.1/lib/net/smtp.rb:806: warning: previous definition of SMTPSession was here
    /home/user/.rvm/gems/ruby-2.1.6/gems/tlsmail-0.0.1/lib/net/pop.rb:687: warning: already initialized constant Net::POP
    /home/user/.rvm/gems/ruby-2.1.6/gems/tlsmail-0.0.1/lib/net/pop.rb:687: warning: previous definition of POP was here
    /home/user/.rvm/gems/ruby-2.1.6/gems/tlsmail-0.0.1/lib/net/pop.rb:688: warning: already initialized constant Net::POPSession
    /home/user/.rvm/gems/ruby-2.1.6/gems/tlsmail-0.0.1/lib/net/pop.rb:688: warning: previous definition of POPSession was here
    /home/user/.rvm/gems/ruby-2.1.6/gems/tlsmail-0.0.1/lib/net/pop.rb:689: warning: already initialized constant Net::POP3Session
    /home/user/.rvm/gems/ruby-2.1.6/gems/tlsmail-0.0.1/lib/net/pop.rb:689: warning: previous definition of POP3Session was here
    /home/user/.rvm/gems/ruby-2.1.6/gems/tlsmail-0.0.1/lib/net/pop.rb:702: warning: already initialized constant Net::APOPSession
    /home/user/.rvm/gems/ruby-2.1.6/gems/tlsmail-0.0.1/lib/net/pop.rb:702: warning: previous definition of APOPSession was here
    /home/user/.rvm/gems/ruby-2.1.6/gems/bundler-1.11.2/lib/bundler/runtime.rb:80:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'activeadmin'. (Bundler::GemRequireError)

是什么原因导致 Gem 捆绑器中出现 Require 错误?

您似乎有多个版本的 gem tlsmail 是 installed/loaded。这就是原因,您会收到它已经初始化的警告。你能做的是 运行:

 gem list --local | grep 'tlsmail'

这将 return 已安装的 gem 版本列表。然后您可以删除其中一个版本(根据项目的依赖性)并查看是否有效。

gem uninstall tlsmail -v <version> 

您可能还想检查 Gemfile 中是否有相同的 gem 和不同的版本。

希望对您有所帮助!

我希望它正在尝试加载 activeadmin

可能是activeadmin的问题

检查 gemfile 和安装

  gem 'activeadmin'

使用它来安装 activeadmin:Active admin install with Rails 4

你初始化你的gemset了吗? (因为您使用的是 RVM)

在 运行 服务器之前按如下方式初始化您的 gemset,

rvm use ruby-2.3.0@rails425

将 ruby 的版本和 gemset 的名称替换为您的 ruby 版本和 gemset 的名称。