【问题标题】:New Rails application and bundle install execution error新的 Rails 应用程序和捆绑安装执行错误
【发布时间】:2015-11-27 17:09:13
【问题描述】:

我正在创建新的应用程序,作为最后一步,运行 bundle install 命令失败:

run  bundle install /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require': cannot load such file -- bundler (LoadError)  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'   
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/generators/app_base.rb:330:in `bundle_command'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/generators/app_base.rb:346:in `run_bundle'  
from (eval):1:in `run_bundle'   
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'   
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `block in invoke_all'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `each'   
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `map'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `invoke_all'   
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/group.rb:232:in `dispatch'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/application.rb:17:in `<top (required)>'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/cli.rb:14:in `<top (required)>'   
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'  
from /Users/khataev/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.5/bin/rails:9:in `<top (required)>'   
from /Users/khataev/.rbenv/versions/2.2.2/bin/rails:23:in `load'  
from /Users/khataev/.rbenv/versions/2.2.2/bin/rails:23:in `<main>'

为什么会失败?我已经安装了 bundler,但是如果我尝试从运行 rails new 命令的目录运行它,它会给我一个错误:

khataev@~/Documents/development/rails$ bundle install
Could not locate Gemfile or .bundle/ directory

但在项目目录中它工作正常。也许这就是原因?

【问题讨论】:

  • 如错误所示:Could not locate Gemfile or .bundle/ directory。您必须提供Gemfile 或正确的.bundle/ 目录。查看 Bundler gem 的 Getting Started 部分。
  • 当我在项目目录外运行 bundle install 命令时会发生此错误,这是正确的。我认为这是我的错误的原因(因为我在新创建的项目之外运行 rails new),但后来我在另一台机器上尝试了它(rails new)并且它的包安装成功完成

标签: ruby-on-rails ruby bundler rbenv


【解决方案1】:

我不确定我是否正确理解了您的问题。所以你在一个目录中,你运行例如“rails new test”。这将创建一个名为“test”的新项目文件夹。您只能在“test”文件夹中运行您的 bundle 命令,因为该文件夹包含 gemfile,告诉 bundler 要安装哪些 gem。

【讨论】:

  • 我知道我只能在项目目录中运行 bundle install ,但是这个问题是关于 bundle install ,它是在创建项目结构后由 rails new 命令自动触发的。我有另一个使用 Ubuntu 环境的学习虚拟机,并且由 rails new 触发的捆绑安装成功完成
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
相关资源
最近更新 更多