在我的RoR项目中尝试“安装捆绑”时遇到错误。 [Windows 8]

时间:2015-01-22 03:23:55

标签: ruby-on-rails ruby json gem bundle

我已经在互联网上寻找过去4个小时我一直在寻找的这个问题的答案,但我已经走到了尽头......

我通过rubygems.org上的安装程序安装了RoR。我经历了很多教程并决定开始使用'gem install blog'的项目。我已经安装了大部分,但第二次尝试“安装捆绑”我收到此错误:

  

Gem :: Ext :: BuildError:错误:无法构建gem原生扩展。

c:/Ruby21/bin/ruby.exe extconf.rb creating Makefile
     

让“DESTDIR =”干净         0 [main] rm 8308 open_stackdumpfile:将堆栈跟踪转储到rm.ex mp make:[clean-static]错误5(忽略)         0 [main] rm 8316 open_stackdumpfile:将堆栈跟踪转储到rm.ex mp make:[clean]错误5(忽略)

     

生成“DESTDIR =”生成generator-i386-mingw32.def编译   generator.c make:gcc:找不到命令make:*** [generator.o]错误   127

     

make failed,退出代码2

     

Gem文件将保持安装状态   c:/Ruby21/lib/ruby/gems/2.1.0/gems/j进行检查。记录结果   到c:/Ruby21/lib/ruby/gems/2.1.0/extensions/x86-mingw32/   n-1.8.2 / gem_make.out安装json(1.8.2)时发生错误,   和Bundler无法确保gem install json -v '1.8.2'   在捆绑之前成功。

现在,我已经尝试自己安装JSON,我已经安装了Devkit并将其运行到我的项目中,但我不知所措。以下是我尝试安装JSON时会发生的情况。

  

暂时增强PATH以包含Devkit ...构建本机   扩展。这可能需要一段时间...错误:安装json时出错:   错误:无法构建gem原生扩展。

     

Gem :: Ext :: BuildError:错误:无法构建gem原生扩展。

c:/Ruby21/bin/ruby.exe extconf.rb creating Makefile
     

让“DESTDIR =”干净         0 [main] rm 8308 open_stackdumpfile:将堆栈跟踪转储到rm.ex mp make:[clean-static]错误5(忽略)         0 [main] rm 8316 open_stackdumpfile:将堆栈跟踪转储到rm.ex mp make:[clean]错误5(忽略)

     

生成“DESTDIR =”生成generator-i386-mingw32.def编译   generator.c make:gcc:找不到命令make:*** [generator.o]错误   127

     

make failed,退出代码2

     

Gem文件将保持安装状态   c:/Ruby21/lib/ruby/gems/2.1.0/gems/j进行检查。记录结果   到c:/Ruby21/lib/ruby/gems/2.1.0/extensions/x86-mingw32/   n-1.8.2 / gem_make.out安装json(1.8.2)时发生错误,   和Bundler无法确保gem install json -v '1.8.2'   在捆绑之前成功。

我已经尝试了所有我能想到的东西(这不是很多,因为我对整个Ruby语言都很新)。

任何可以给予的帮助都会很棒!我不是在寻找讲义,我真的很想了解到底发生了什么。

3 个答案:

答案 0 :(得分:2)

我通过重新安装Ruby解决了这个问题。

我怀疑升级到OS X Yosemite在昨天升级时引起了问题。

错误:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/Users/cartersowers/.rbenv/versions/2.1.5/bin/ruby extconf.rb 
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.bundle
ld: library not found for -lgmp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [generator.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/cartersowers/projects/soomo/vendor/bundle/ruby/2.1.0/gems/json-1.8.2 for inspection.
Results logged to /Users/cartersowers/projects/soomo/vendor/bundle/ruby/2.1.0/extensions/x86_64-darwin-13/2.1.0-static/json-1.8.2/gem_make.out
An error occurred while installing json (1.8.2), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.2'` succeeds before bundling.

然后我重新安装了

rbenv install 2.1.5

一切都很好。

答案 1 :(得分:0)

这可能有所帮助,在SO上提出了类似的问题:The 'json' native gem requires installed build tools

答案 2 :(得分:0)

尝试利用控制台权限并以管理员身份(cmd.exe)运行。然后使用ruby命令gem install blog

当您第二次运行安装时,Ruby会询问您是否要覆盖文件。如果您没有更改任何内容,可以选择a - overwrtie all