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

时间:2011-04-06 04:05:11

标签: ruby-on-rails bundle

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

我收到以下输出:

$ 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

4 个答案:

答案 0 :(得分:14)

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

ruby dk.rb install --force

答案 1 :(得分:0)

我遇到了同样的问题。

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

答案 2 :(得分:-1)

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

Tips for how to install GCC

答案 3 :(得分:-1)

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

===

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

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

请继续安装make:sudo apt-get install make或者如果您像我一样并且不想再次遇到问题,请运行:sudo apt-get install build-essential以覆盖所有问题:)