Rails bundle install - 无法为JSON构建gem原生扩展

时间:2013-07-21 21:39:30

标签: ruby json ruby-on-rails-3 rubygems bundler

我正在尝试修复strange problem in Rails,因此我尝试卸载所有宝石(使用此处的命令:http://geekystuff.net/2009/01/14/remove-all-ruby-gems/),然后运行bundle install

删除成功,但当我运行bundle install时,出现以下错误:

  

安装activeresource(3.2.13)

     

使用bundler(1.3.5)安装   rack-ssl(1.3.3)

     

安装json(1.8.0)

     

Gem :: Installer :: ExtensionBuildError:错误:无法构建gem native   扩展。

    c:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb creating Makefile
     

制作

     

生成generator-i386-mingw32.def

     

编译generator.c

     

链接共享对象json / ext / generator.so

     

make install

     

/ usr / bin / install -c -m 0755 generator.so   C:/RailsInstaller/Ruby1.9.3/lib/ruby/ge   ms / 1.9.1 / gems / json-1.8.0 / lib / json / ext / usr / bin / install:无法删除   `C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1   /gems/json-1.8.0/lib/json/ext/generator.so':权限被拒绝:   *** [c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/json-1.8.0/lib/j   son / ext / generator.so]错误1

     

Gem文件将保持安装状态   c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9 .1 / gems / json-1.8.0 for   检查。

     

记录结果   C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/json-1.8。   0 / ext / json / ext / generator / gem_make.out发生错误   安装json(1.8.0),而Bundler无法继续。

     

确保   在捆绑之前gem install json -v '1.8.0'成功。

我花了相当多的时间但仍然无法弄清楚出了什么问题。请指教。

2 个答案:

答案 0 :(得分:0)

我下载并运行了Rails Installer。这次我跑bundle install时,问题就消失了。

答案 1 :(得分:0)

它可能是Ruby路径中的空白区域:

  

注意:您的路径不得包含任何内容   空格(如“C:\ Program Files \ Ruby193”)。这是非常的   很重要,因为在ruby安装的路径中有空格   一旦您尝试安装宝石,将会导致某些错误消息   这需要DevKit。

https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

HTH
弗兰克