【问题标题】:Rubygems do not install on OS X LionRubygems 无法安装在 OS X Lion 上
【发布时间】:2023-03-23 09:49:01
【问题描述】:

我以前对红宝石、宝石和所有相关的东西都没有任何问题。但是在安装 X Code Developer Tools 并升级到 Lion 之后,gem 并没有安装。

每个宝石都出现以下错误。这是以 sqlite 为例的消息:

Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out

出了什么问题?如何解决?

【问题讨论】:

    标签: ruby-on-rails ruby macos rubygems gem


    【解决方案1】:

    我必须在最新的 Xcode-Version (4.3.1) 中安装命令行工具,并且

    sudo gem install rails
    

    工作就像一个魅力。

    要安装命令行工具,请转到 Xcode Preferences > Downloads 或在终端中使用以下命令 (thx @Purell):

    xcode-select --install
    

    【讨论】:

    • 是的。要安装命令行工具,请转到 XCode Preferences > Downloads。
    • 显然,如果您有 OSX 10.9 Mavericks 和 Xcode 5.0,命令行工具不会(总是?)出现在“首选项”-->“下载”中。但是你可以用“xcode-select --install”安装它
    【解决方案2】:

    我使用的是 Mavericks 和 Ruby 2.0.0,在安装 gem 时我也遇到了这个错误(mkmf.rb 找不到头文件)。我通过在终端中创建一些符号链接解决了这个问题。

    #First install developer tools again:
    xcode-select --install
    
    #Create symbolic link to Ruby include (updated for 10.9)
    sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include
    
    #Create symbolic link to config.h (updated for 10.9)
    sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.0/Headers/ruby/config.h /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/config.h
    

    【讨论】:

    • 升级到 Mavericks 似乎已经卸载了开发者工具。运行 David 的第一个命令为我解决了这个问题。无需符号链接。
    【解决方案3】:

    我在我的 Lion 上安装导轨时遇到了同样的问题。这就是我可以解决的方法。

    安装 rvm

    $ curl https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable

    安装 osx-gcc-installer

    https://github.com/kennethreitz/osx-gcc-installer

    安装了新版本的ruby

    rvm install 1.9.3

    键入以下命令以显示要求

    rvm requirements

    要使用 RVM 安装的 Ruby 作为默认值,而不是系统 ruby​​:

    rvm system ; rvm gemset export system.gems ; rvm 1.9.3 ; rvm gemset import system.gems # migrate your gems rvm alias create default 1.9.3

    已安装的导轨:

    sudo gem install rails

    我的 Mac 现在可以读取 rails 了!!耶!!

    【讨论】:

      【解决方案4】:

      不是直接解决您的问题,但我建议使用rvm 安装新的红宝石和宝石。那应该会照顾它。

      【讨论】:

        【解决方案5】:

        在安装 Rails 时出现错误:

        在 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h 中找不到 ruby​​ 的头文件

        因为我已经安装了 Xcode,我只需要安装命令行工具来解决这个问题

        【讨论】:

          【解决方案6】:

          您需要安装 XCode,它包括 ruby​​.h 以及编译其他原生 gem 所需的其他一些重要文件。

          【讨论】:

          • 欢迎来到 SO。如果我正确阅读了 OP 的问题,他说他已经安装了 XCode。
          【解决方案7】:

          您好,很抱歉,我无法测试此答案,但我建议更改 bashrc 和 extconf.rb 中的默认搜索路径,因为库文件似乎已在 Lion 中移动。

          (P.S. 如果他想使用默认的 1.8 版本,rvm 将是一个不必要的麻烦)

          【讨论】:

          • 您打开一个终端窗口,选择您喜欢的编辑器,然后编辑您的 .bashrc(通常在路径 /Users//.bashrc 中)
          • 我知道该怎么做。我只是不知道应该添加哪条路径。
          • 对不起,我误解了:我建议:/System/Library/Frameworks/Ruby.framework/Versions/1.8/
          【解决方案8】:

          更新到最新版本的 xcode,为我解决了这个问题。确保 xcodebuild 在您的路径中。

          在终端窗口中运行 xcodebuild -version 应该输出 4.2.1(至少 4.x)。

          【讨论】:

            【解决方案9】:

            操作系统更新后,请确保您接受 X-Code 许可,即使您之前使用过命令行工具也是如此。只有这样一些头文件才可用。要接受许可,您必须运行 X-Code 一次。

            【讨论】:

              【解决方案10】:

              我只是忘了用sudo 命令运行它。

              sudo gem install sqlite3

              不是:

              gem install sqlite3

              【讨论】:

                猜你喜欢
                • 2012-10-21
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2012-02-14
                • 2012-08-10
                • 2012-03-23
                相关资源
                最近更新 更多