【问题标题】:Error Installing Jekyll - Native Extension Build安装 Jekyll 时出错 - 本机扩展构建
【发布时间】:2012-05-30 08:17:00
【问题描述】:

我在安装 jekyll 时遇到了一些问题。无法完全弄清楚如何修补丢失的链接。我认为这是对 Ruby 的更新,但 RVM 在安装 ruby​​ 的替代版本时也遇到了问题。

这是完整的帖子:

$ sudo gem install jekyll    

ERROR:  Error installing jekyll:
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/fast-stemmer-1.0.1 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/fast-stemmer-1.0.1/ext/gem_make.out

这是否意味着我需要通过 rvm 更新我正在使用的 ruby​​ 版本?

【问题讨论】:

  • 您具体运行了哪些命令来更新 RVM,然后切换您的 ruby​​ 版本?
  • 嘿,诺亚,我正在尝试 $ rvm install ruby​​-1.9.2-p320
  • 如果您给出了您发出的确切命令,然后是完整的输出,那将会很有帮助。尝试使用代码突出显示。
  • 感谢您指出诺亚,我添加了我为 jekyll 安装发出的命令及其输出内容。
  • which make 返回什么?

标签: ruby macos rubygems installation jekyll


【解决方案1】:

您的问题是您的系统不知道 make 位于何处,或者您没有安装它。解决此问题的最简单方法(以及尝试启动和运行 ruby​​ 系统可能会遇到的其他问题)是安装 xcode。

您可以在http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 获得狮子。或者它以 CD 形式随您的计算机一起提供,用于早期版本。

如果您使用的是 Lion,请参阅下面的 cmets 以获取有关如何在 Lion 上安装开发人员工具的链接。

【讨论】:

  • 太棒了!谢谢诺亚,很高兴听到这就是问题所在。现在安装大约 30 分钟。
  • 我看到您在这里比较新,所以如果我的解决方案有效,您应该回来并将其标记为可接受的答案,以便其他人可以从中受益。
  • 当然,非常感谢@NoahClark 的帮助 - 不幸的是,我已经安装了 xcode 并且在运行 sudo gem install jekyll 时仍然遇到同样的问题 - 我将尝试通过再次更新 ruby rvm?
  • 运行which make 命令也仍然是空的
  • 在命令行输入 /usr/bin/make 会给你带来什么?你以前有没有在你的系统上编译过任何源代码?
【解决方案2】:

Ubuntu

  1. sudo apt-get install ruby-dev
  2. gem install jekyll

【讨论】:

  • 但它确实解决了我在 Ubuntu 中的问题,因为问题标题没有提到操作系统
  • OP 没有明确提到它,但 /System/Library/Frameworks 的错误消息非常有启发性。在 Ubuntu 13.10 上仍然为我工作
  • 谢谢!我必须 sudo apt-get remove ruby,因为我有 Ruby 1.9.3,它不会让我 sudo gem install jekyll
  • 安装 ruby​​ dev 解决了这个问题。 PS:对于 Fedora:# dnf install ruby ruby-dev
  • 在我的情况下也是如此,提供的版本不匹配,但尝试了 ruby​​-dev 然后正常工作,当你错过一些需要编译的包时,就像往常一样。
【解决方案3】:

需要安装“make”。 我正在使用 Ubuntu 12.10。 sudo apt-get install make 应该适用于任何基于 Debian 的发行版。

【讨论】:

    【解决方案4】:

    附录:您现在可以在 Mountain Lion 上从 App Store 安装 XCode。这个过程是透明的,而且非常快。

    【讨论】:

      【解决方案5】:

      如果您尚未安装 Xcode,请按照所述安装 (https://developer.apple.com/xcode/)。 另外您需要命令行工具。

      打开 Xcode。转至Preferences > Downloads > Install Command Line Tools

      【讨论】:

      • 请不要多次发布相同的答案。特别是如果您基本上是在重复其他答案所说的话。如果您发现重复的问题,请将它们标记为可以合并。
      • 我用相同的答案回答了两个问题。因为我猜人们会同时找到两个答案。我不知道你重复其他答案是什么意思!没有提到命令行工具的部分,而是解决方案的重要部分。单靠 Xcode 无济于事。
      【解决方案6】:

      我和你有同样的问题。

      我使用的是Mac OS X 10.9开发预览版,我已经安装了gcc和Xcode。

      但我的 Xcode 版本是 4.6。

      然后我安装 Xcode 5.0

      之后,我再次在终端中输入sudo gem install jekyll。然后就可以了。

      希望它可以帮助某人。

      【讨论】:

        【解决方案7】:

        安装 Xcode 并转到 perferencs > 下载 > 安装命令行工具 WORKS!

        【讨论】:

          【解决方案8】:

          在 Debian 上同样的问题,我忘了运行这个命令:

          ~/.rvm/scripts/rvm
          

          【讨论】:

            【解决方案9】:

            我在尝试安装 Jekyll 时遇到了同样的错误,此链接中的以下步骤帮助了我。以防万一其他人遇到这个!

            http://davidensinger.com/2013/03/installing-jekyll/

            【讨论】:

              【解决方案10】:

              注意:预装 Mavericks 的较新 MacBook Pro 型号也会出现此问题。我用我自己的完全不涉及 Xcode 的解决方案更新了另一篇文章。在我拿到机器时,我的系统已经安装了 Xcode 开发者工具。

              ERROR: Error installing jekyll: ERROR: Failed to build gem native extension

              【讨论】:

                【解决方案11】:

                如果您安装了 XCode 并且命令行工具仍然丢失,请转到终端并

                xcode-select --install

                它会提示您安装这些工具。之后,只需按照SrBlanco´s 回答即可。这为我解决了问题。

                祝你好运。

                【讨论】:

                  【解决方案12】:

                  我在 Ubuntu 上遇到了同样的错误,this 帮助我解决了问题。

                  你必须安装 ruby​​-dev

                  apt-get install ruby-dev
                  

                  【讨论】:

                    【解决方案13】:

                    为 Xcode 安装命令行工具解决了我在 Mac 上的问题

                    xcode-select --install.

                    【讨论】:

                      【解决方案14】:

                      我在 Fedora 22 设置中遇到了同样的问题。我安装了ruby,但没有安装ruby-devel。安装 ruby-devel 为我解决了这个问题。

                      dnf install -y ruby-devel
                      

                      对于旧系统:

                      yum install -y ruby-devel
                      

                      【讨论】:

                        【解决方案15】:

                        所有这些答案都不适合我。

                        如果您正在 ubuntu 14.04 上寻找解决方案,请执行以下操作:

                        sudo apt-get install ruby1.9.1-dev zlib1g-dev nodejs
                        sudo gem install jekyll -v 2.5.3
                        

                        不幸的是,nodejs 是必需的,因为 Jekyll 中的一个错误强制运行时 JS 引擎的存在,即使它不需要。

                        【讨论】:

                          【解决方案16】:
                          • sudo apt-get install ruby​​-dev
                          • sudo gem 安装 jekyll

                          希望这会有所帮助,它对我有用。

                          【讨论】:

                            【解决方案17】:

                            对于 Ubuntu,这对我有帮助:

                            apt-get install libffi-dev
                            

                            一般建议是按照显示的错误原因进行操作,希望您会得到一个日志文件,其中第一行建议应该安装哪个包,在我的例子中:

                            To see why this extension failed to compile, please check the mkmf.log which can be found here:
                            
                              /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/ffi-1.9.21/mkmf.log
                            

                            【讨论】:

                              【解决方案18】:

                              MacOS

                              我对这个问题的解决方案

                              1. 安装xcode
                              2. 在命令行中输入xcode-select --install
                              3. 在命令行中输入sudo gem install jekyll

                              PS:是本题两个答案的组合。

                              【讨论】:

                                【解决方案19】:

                                我在 Ubuntu/Linux Mint 上关注了这个

                                1. sudo apt install build-essential
                                2. sudo apt install ruby-dev
                                3. sudo gem install jekyll

                                【讨论】:

                                  【解决方案20】:

                                  您缺少 ruby​​-dev 文件,请继续运行此命令 - sudo apt-get install ruby-dev

                                  希望这会有所帮助!

                                  【讨论】:

                                    【解决方案21】:

                                    我在 macOS(10.14.2) 上遇到了同样的问题,原因可能是:

                                    显然,在 OSX el Capitan 中,有一个新的安全功能可以防止您修改系统文件,称为 Rootless。

                                    我的解决方案是使用 rvm:

                                    1. install ruby on Mac OS X with RVM
                                    2. gem install jekyll

                                    【讨论】:

                                      【解决方案22】:

                                      在 windows 上我有这个问题

                                      我实际安装的是ruby的rubyinstaller-devkit-2.6.3-1-x64版本

                                      我已经完全删除了 ruby​​ 并安装了 ruby​​installer-devkit-2.5.5-1-x64

                                      并在powershell上发出以下命令

                                      gem install bundler
                                      gem install jekyll
                                      

                                      这次没有发现任何错误

                                      【讨论】:

                                        【解决方案23】:

                                        我遇到了这个问题,最重要的是,发生错误是因为我没有同意 xcode 中的一些更新的服务条款。运行以下命令对我有用。去搞清楚。

                                        sudo xcodebuild -license accept
                                        

                                        【讨论】:

                                          【解决方案24】:

                                          对我来说,我必须升级自制软件并将rbenv 安装到最新的 ruby​​ 版本。之后,我按照jekyll website 的说明进行操作。我的操作系统是 Catalina 2019,我无法安装 Xcode,它还不兼容!

                                          您必须在.bash_profile 中设置路径,以确保它在您重新启动终端时初始化rbenv

                                          export PATH="$HOME/.rbenv/bin:$PATH"
                                          eval "$(rbenv init -)"
                                          

                                          然后

                                          $ rbenv version
                                          2.2.3 (set by /Users/mislav/.rbenv/version)
                                          $ rbenv shell
                                          rbenv: no shell-specific version configured
                                          

                                          希望有所帮助!

                                          【讨论】:

                                            【解决方案25】:

                                            这是(唯一?)在 macOS 上安装 Jekyll 的可靠且简单的方法

                                            1. 安装 UTM
                                            2. 安装 Ubuntu 服务器
                                            3. https://jekyllrb.com/docs/installation/ubuntu/ 使用 Ubuntu 说明安装 Jekyll
                                            4. 在 VM 设置中转发端口 22 (22->localhost->22)
                                            5. 在 macOS 主机上使用 VS Code
                                            6. 安装远程 SSH
                                            7. 连接到 USER@localhost
                                            8. 将 Mac 上的文件夹拖放到 VS Code 中(这会将文件传输到远程)
                                            9. 为 4000 启用端口转发(VS Code 的底部栏)
                                            10. 在您的网站上工作
                                            11. 在文件资源管理器中右键单击您的网站,然后单击下载

                                            如果您还没有完成这些步骤,您可能会很高兴:

                                            1. Ubuntu 从 GitHub 导入您的公共 SSH 密钥
                                            2. VS Code 神奇地处理文件的传入和传出
                                            3. VS Code 神奇地将您的 VS Code 扩展安装到远程服务器上,并允许在远程主机上搜索文件

                                            【讨论】:

                                              猜你喜欢
                                              • 2019-01-12
                                              • 2014-04-22
                                              • 2015-05-01
                                              • 1970-01-01
                                              • 1970-01-01
                                              • 1970-01-01
                                              • 1970-01-01
                                              • 1970-01-01
                                              • 2016-11-23
                                              相关资源
                                              最近更新 更多