colithium
colithium

Reputation: 10327

bundle install fails due to missing make command

I'm attempting to run "bundle install". I've already installed the Ruby devkit and have it added to my path. It complains about make not being a recognized command. Isn't that what devkit is supposed to add? When searching for answers to this issue, every answer seems to be "install devkit". I'm on Windows 7, what would be the easiest way to configure my environment to allow it to build gems?

I receive the following output:

$ 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

Upvotes: 6

Views: 8832

Answers (4)

acconrad
acconrad

Reputation: 3219

You need to make sure you have gcc/g++ and make installed. Ruby is built on C so you will need the C compiler (which uses make) to ensure everything is running properly.

Tips for how to install GCC

Upvotes: -1

DavidGamba
DavidGamba

Reputation: 3613

EDIT: NOTE: Steps below are for linux and I only took the time to answer this because it came up on google as the first response and I though it might help someone else. The windows answer is already given and already selected as the right one.

===

I got the same problem in linux when trying to install rails after installing ruby.

When I installed ruby one of the dependencies is gcc which would make you think make is installed as well.

Just go ahead and install make: sudo apt-get install make or if you are like me and don't want to run into issues again just run: sudo apt-get install build-essential to cover it all :)

Upvotes: -1

Tsutomu
Tsutomu

Reputation: 5148

I encountered same issue.

After struggling for a while, I rebooted the Windows and problems were solved magically.

Upvotes: 0

colithium
colithium

Reputation: 10327

The issue was I installed devkit in something other than the Windows Command Prompt. Make sure you use that. If you already tried to install it with something else, run:

ruby dk.rb install --force

Upvotes: 14

Related Questions