尝试更新nokogiri gem

时间:2018-01-30 15:27:20

标签: ruby nokogiri middleman

尝试更新Nokogiri gem时出现错误消息:

  

任何平台都不会使用依赖关系wdm(〜> 0.1.0)   Bundler正在安装。 Bundler正在为ruby安装但是   依赖性仅适用于x86-mswin32,x86-mingw32。添加那些   捆绑的平台,运行bundle lock --add-platform x86-mswin32 x86-mingw32。依赖性tzinfo-data(> = 0)将被任何未使用   Bundler正在安装的平台。 Bundler正在安装   ruby但依赖性仅适用于x86-mswin32,x86-mingw32,java。至   将这些平台添加到捆绑包中,运行bundle lock --add-platform x86-mswin32 x86-mingw32 java。从中获取gem元数据   http://rubygems.org/ ..............从中获取宝石元数据   http://rubygems.org/ ..解决依赖关系...使用i18n 0.7.0   使用json 1.8.3使用minitest 5.7.0使用thread_safe 0.3.5使用   tzinfo 1.2.2使用activesupport 4.1.11使用可寻址2.3.8使用   execjs 2.5.2使用autoprefixer-rails 5.2.1使用sass 3.4.15使用   bootstrap-sass 3.3.5使用bundler 1.16.0使用hitimes 1.2.2使用   定时器4.0.1使用赛璐珞0.16.0使用chunky_png 1.3.4使用   coffee-script-source 1.9.1.1使用coffee-script 2.4.1使用   multi_json 1.11.1使用compass-core 1.0.3使用compass-import-once   1.0.5使用rb-fsevent 0.9.5使用ffi 1.9.8使用rb-inotify 0.9.5使用指南针1.0.3使用eventmachine 1.0.7使用http_parser.rb   0.6.0使用em-websocket 0.5.1使用erubis 2.7.0使用font-awesome-sass 4.2.2使用倾斜1.4.1使用haml 4.0.6使用hike   1.2.3使用uber 0.0.13使用钩子0.4.0使用htmlcompressor 0.2.0使用thor 0.19.1使用jquery-middleman 3.1.2使用kramdown 1.7.0   使用listen 2.10.1使用padrino-support 0.12.5使用padrino-helpers   0.12.5使用机架1.6.4使用机架测试0.6.3使用中间核3.3.12使用链轮2.12.3使用sprockets-helpers 1.1.0使用sprockets-sass 1.3.1使用middleman-sprockets 3.4.2使用uglifier   2.7.1使用middleman 3.3.12使用middleman-blog 3.5.3使用net-ssh 2.9.2使用net-sftp 2.1.2使用ptools 1.3.2使用middleman-deploy 1.0.0使用middleman-disqus 1.1.0使用rack -livereload 0.3.15使用middleman-livereload 3.1.1使用middleman-minify-html 3.4.1使用   middleman-protect-emails 0.3.1使用mini_portile2 2.3.0获取   nokogiri 1.8.2(原为1.6.6.4)安装nokogiri 1.8.2(原为1.6.6.4)   使用本机扩展Gem :: Ext :: BuildError:错误:无法构建   宝石原生扩展。

current directory: /usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/nokogiri-1.8.2/ext/nokogiri
     

/usr/local/var/rbenv/versions/2.2.2/bin/ruby -r   ./siteconf20180130-47766-zngdwi.rb extconf.rb检查是否为C.   编译器接受... * extconf.rb失败* 无法创建   Makefile由于某种原因,可能缺少必要的库   和/或标题。检查mkmf.log文件以获取更多详细信息。你可以   需要配置选项。

     

提供配置选项: - with-opt-dir --without-opt-dir     --with-opt-include --without-opt-include = $ {opt-dir} / include     --with-opt-lib --without-opt-lib = $ {opt-dir} / lib --with-make-prog     --without-make-prog --srcdir =。 --curdir     --ruby =在/ usr /本地的/ var / rbenv /版本/ 2.2.2 / bin中/ $(RUBY_BASE_NAME)     --help --clean   /usr/local/var/rbenv/versions/2.2.2/lib/ruby/2.2.0/mkmf.rb:456:in   来自try_compile的try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /usr/local/var/rbenv/versions/2.2.2/lib/ruby/2.2.0/mkmf.rb:571:in 阻止   /usr/local/var/rbenv/versions/2.2.2/lib/ruby/2.2.0/mkmf.rb:522:in   来自extconf.rb的with_werror' from /usr/local/var/rbenv/versions/2.2.2/lib/ruby/2.2.0/mkmf.rb:571:in try_compile':138:来自add_cflags'中的nokogiri_try_compile' from extconf.rb:162:in块   /usr/local/var/rbenv/versions/2.2.2/lib/ruby/2.2.0/mkmf.rb:619:in   来自with_cflags' from extconf.rb:161:in add_cflags'   extconf.rb:410:在''

中      

要查看此扩展无法编译的原因,请查看mkmf.log   可以在这里找到:

     

/usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-13/2.2.0-static/nokogiri-1.8.2/mkmf。日志

     

extconf失败,退出代码1

     

Gem文件将保持安装状态   /usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/nokogiri-1.8.2   检查。记录结果   /usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-13/2.2.0-static/nokogiri-1.8.2/gem_make.out

     

安装nokogiri(1.8.2)和Bundler时发生错误   无法继续。确保gem install nokogiri -v '1.8.2'   在捆绑之前成功。

     

在Gemfile中:nokogiri

1 个答案:

答案 0 :(得分:2)

这有助于我在WSL上 Ubuntu runnung

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.22/fabric.js"></script> <button onclick="addText();" class="dropdown-item">Add Text</button><button id="save">Save</button> <button onclick="replaceImage('https://i.imgur.com/SamdNdX.png')">Blank</button> <button onclick="replaceImage('https://i.imgur.com/TIINd6E.png')">Hands Pic</button> <div id="imagesave"> <table> <tr> <td> <canvas id="c0" width="187.5" height="318.75"></canvas> </td> <td> <canvas id="sc1" width="187.5" height="318.75"></canvas> </td> <td> <canvas id="sc2" width="187.5" height="318.75"></canvas> </td> <td> <canvas id="sc3" width="187.5" height="318.75"></canvas> </td> </tr> <tr> <td> <canvas id="sc4" width="187.5" height="318.75"></canvas> </td> <td> <canvas id="sc5" width="187.5" height="318.75"></canvas> </td> <td> <canvas id="sc6" width="187.5" height="318.75"></canvas> </td> <td> <canvas id="sc7" width="187.5" height="318.75"></canvas> </td> </tr> </table> </div>

来自official Nokogiri installation instructions

对于 Mac OS ,它建议:

  1. 首先,确保您拥有最新版本的RubyGems和xcode命令行工具:

  2. 运行:

  3. sudo apt-get install build-essential patch ruby-dev zlib1g-dev liblzma-dev

    gem update --system

    1. 然后安装nokogiri:
    2. xcode-select --install

      该页面上有更多疑难解答提示。