【问题标题】:"sh: make: command not found" when running "$ bundle" after adding redcarpet gem to Rails app将 redcarpet gem 添加到 Rails 应用程序后运行“$ bundle”时出现“sh: make: command not found”
【发布时间】:2011-09-26 21:18:52
【问题描述】:

在将“gem 'redcarpet'”添加到 Gemfile 后运行“$ bundle”时,我得到以下信息:

$ bundle
...
Using paperclip (2.3.11) 
Using passenger (3.0.7) 
Installing redcarpet (1.17.2) with native extensions /Users/robs/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:551:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

    /Users/robs/.rvm/rubies/ruby-1.9.2-p180/bin/ruby extconf.rb 
creating Makefile

make
sh: make: command not found

Gem files will remain installed in /Users/robs/.rvm/gems/ruby-1.9.2-p180@rails-3.0/gems/redcarpet-1.17.2 for inspection.
Results logged to /Users/robs/.rvm/gems/ruby-1.9.2-p180@rails-3.0/gems/redcarpet-1.17.2/ext/redcarpet/gem_make.out
from /Users/robs/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:529:in `block in build_extensions'
from /Users/robs/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:504:in `each'
from /Users/robs/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:504:in `build_extensions'
from /Users/robs/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:180:in `install'
from /Users/robs/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.0.15/lib/bundler/source.rb:101:in `block in install'
from /Users/robs/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.0.15/lib/bundler/rubygems_integration.rb:78:in `preserve_paths'
...
from /Users/robs/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.0.15/bin/bundle:13:in `<top (required)>'
from /Users/robs/.rvm/gems/ruby-1.9.2-p180@rails-3.0/bin/bundle:19:in `load'
from /Users/robs/.rvm/gems/ruby-1.9.2-p180@rails-3.0/bin/bundle:19:in `<main>'

Full gist here.

我将 rvm 与不同的 gemset 一起使用。此应用程序正在使用 @rails-3.0 gemset。 Here is my previous question 关于该设置。

我注意到“正在安装 redcarpet (1.17.2)...”这一行包含“/Users/robs/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9. 1/rubygems/installer.rb”。这是问题的一部分吗?我怎样才能安装它?

谢谢。

【问题讨论】:

  • 另外,我最近安装了一个新硬盘并使用 Time Machine 备份来恢复所有内容。这和它有什么关系吗?
  • make 是系统可执行文件。您是否在命令行中收到对 which make 的响应?如果没有,您可能需要重新安装 xcode。旧的免费版本 3 仍然可用。

标签: ruby-on-rails-3 makefile gem bundle


【解决方案1】:

更新到 Mountain Lion 后出现同样的问题。您需要获取new command line tools 并运行:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer 

源:Upgrading to Mountain Lion and XCode 4 broke my "make"?

如果在此之后您仍然收到如下错误:

make: /usr/bin/gcc-4.2: No such file or directory

符号链接将解决该问题:

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2

作为this post 状态的cmets 之一。

这可能不是最好的解决方案,但它确实有效,肯定还有其他原因。

【讨论】:

  • 该页面上评分最高的答案链接到另一个答案,该答案说明您实际上可以从 XCode 中下载命令行工具,而不必从您提供的链接中下载它们。这是直接指向该答案的链接,并附有说明:stackoverflow.com/questions/11494522/installing-make-on-mac/… 在执行此操作后,我确实必须为 gcc 创建一个符号链接。
  • 我从 developer.apple.com 下载了命令行工具,然后需要您建议的符号链接。
【解决方案2】:

我在 Time Machine 更新后遇到了同样的问题。安装 Xcode 和随之而来的开发者工具解决了这个问题。

【讨论】:

【解决方案3】:

如果您拥有 Mountain Lion 和 XCODE 4.4.1,您必须前往 https://developer.apple.com/downloads/index.action 并下载命令行工具(它是免费的,因此您无需为 iOS 或 MAC 开发者程序付费)来下载此工具。

它对我有用。

【讨论】:

  • 谢谢,这也为我修好了。
  • 这和链接到 gcc-4.2 结合使用。谢谢老兄!
【解决方案4】:

仅供参考,如果您从 Lion 上的 Appstore 下载“安装 Xcode”应用程序,则需要运行它才能完成安装。看起来很傻,但我错过了。

【讨论】:

    【解决方案5】:

    你只需要安装make!

    基于 RHEL:

    yum install make

    基于 Debian

    apt-get install make

    【讨论】:

      【解决方案6】:

      升级到 OS X Lion 后我遇到了同样的问题。我将 X Code 更新到 4.1,一切都变得更好了!

      【讨论】:

        猜你喜欢
        • 2014-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-26
        • 2020-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多