我正在尝试安装Gemfile中的所有gems及其依赖项,因此只需运行Bundler(bundle或bundle install)。 在安装nio4r 1.1.1时出现本机扩展错误,下面是gem_make.out中的日志。
/opscode/chef/embedded/bin/ruby.exe -r ./siteconf20150924-7480-ocwr34.rb extconf.rb 检查unistd.h... *** extconf.rb失败 *** 由于某些原因(可能是缺少必要的库和/或标头文件),无法创建Makefile。有关更多详细信息,请检查mkmf.log文件。您可能需要配置选项。我可以看到bundler正在检查unistd.h并在该点上失败。 我确保此标头在PATH中可用,并为我的版本安装了ruby devkit。 运行
提供的配置选项: --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 = / opscode / chef / embedded / bin / ruby /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:434:in `try_do': 编译器无法生成可执行文件。(RuntimeError) 首先,您需要安装开发工具。 from /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:565:in `try_cpp' from /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:1038:in `block in have_header' from /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:889:in `block in checking_for' from /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:340:in `block (2 levels) in postpone' from /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:310:in `open' from /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:340:in `block in postpone' from /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:310:in `open' from /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:336:in `postpone' from /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:888:in `checking_for' from /opscode/chef/embedded/lib/ruby/2.0.0/mkmf.rb:1037:in `have_header' from extconf.rb:3:in `'
extconf失败,退出代码1
gem install nio4r
也会出现相同的错误。