由于缺少make命令,bundle install失败

我正在尝试运行“捆绑安装”。 我已经安装了Ruby devkit并将它添加到我的路径中。 它抱怨说不是一个公认的命令。 这不是devkit应该添加的吗? 在搜索此问题的答案时,每个答案似乎都是“安装devkit”。 我在Windows 7上,配置环境以允许它构建gem的最简单方法是什么?

我收到以下输出:

$ bundle install Fetching source index for http://rubygems.org/ Using rake (0.8.7) Using activesupport (2.3.11) Using rack (1.1.0) Using actionpack (2.3.11) Using actionmailer (2.3.11) Using activerecord (2.3.11) Using activeresource (2.3.11) Using annotate (2.4.0) Using authlogic (2.1.6) Using columnize (0.3.2) Using haml (3.0.25) Using compass (0.10.6) Using configuration (1.2.0) Using daemons (1.0.10) Using declarative_authorization (0.5.2) Using delayed_job (2.0.7) Using i18n (0.5.0) Using faker (0.9.5) Using mocha (0.9.12) Using will_paginate (2.3.15) Using haml_scaffold (1.1.0) Installing json (1.4.6) with native extensions c:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:483:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) c:/Ruby187/bin/ruby.exe extconf.rb checking for re.h... yes creating Makefile make 'make' is not recognized as an internal or external command, operable program or batch file. Gem files will remain installed in c:/Ruby187/lib/ruby/gems/1.8/gems/json-1.4.6 for inspection. Results logged to c:/Ruby187/lib/ruby/gems/1.8/gems/json-1.4.6/ext/json/ext/generator/gem_make.out from c:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `each' from c:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `build_extensions' from c:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:198:in `install' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/source.rb:96:in `install' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/installer.rb:55:in `run' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/spec_set.rb:12:in `each' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/spec_set.rb:12:in `each' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/installer.rb:44:in `run' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/installer.rb:8:in `install' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/cli.rb:226:in `install' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/vendor/thor/task.rb:22:in `send' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/vendor/thor/task.rb:22:in `run' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/vendor/thor.rb:246:in `dispatch' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/lib/bundler/vendor/thor/base.rb:389:in `start' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.11/bin/bundle:13 from c:/Ruby187/bin/bundle:19:in `load' from c:/Ruby187/bin/bundle:19 

的Gemfile:

 source 'http://rubygems.org' gem 'rails', '2.3.11' gem 'paper_trail', '~> 1' gem 'will_paginate', '~> 2.3.11' gem 'paperclip', '~> 2.3' gem 'haml' gem 'compass', '>= 0.10.6' gem 'authlogic' gem 'declarative_authorization' gem 'delayed_job', '~> 2.0.4' group :development, :test do gem 'heroku' gem 'sqlite3' gem 'heroku_san' gem 'ruby-debug' gem 'faker' gem 'rcov' gem 'annotate' gem 'mocha' gem 'haml_scaffold' end group :production do # TODO end 

问题是我在Windows命令提示符以外的地方安装了devkit。 确保你使用它。 如果您已尝试使用其他内容安装它,请运行:

 ruby dk.rb install --force 

我遇到了同样的问题。

经过一段时间的努力,我重新启动了Windows并且问题得到了神奇的解决。

编辑:注意:以下步骤是针对Linux的 ,我只花了时间来回答这个问题,因为它出现在谷歌作为第一个响应,我虽然它可能会帮助其他人。 窗口答案已经给出并已被选为正确答案。

===

在安装ruby后尝试安装rails时,我在linux中遇到了同样的问题。

当我安装ruby时,其中一个依赖项是gcc ,它会让你认为make也是安装的。

只需继续安装make: sudo apt-get install make或者如果你像我一样并且不想再遇到问题就运行: sudo apt-get install build-essential来覆盖它:)

你需要确保你有gcc / g ++并安装。 Ruby是基于C构建的,因此您需要C编译器(使用make)来确保一切正常运行。

有关如何安装GCC的提示