我是ruby on rails的新手,我正在努力让我的第一个项目使用git和heroku。我正在按照Michael Hartl的教程进行操作。我本来想要
git push heroku master
但是我没有GemFile.lock,所以我一直在尝试捆绑安装和捆绑更新,但没有任何效果,因为我没有json原生宝石。
bundle update
这是重新出现这个错误的命令,它不是整个错误我遗漏了我已经拥有的所有宝石
Installing json (1.7.3) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
"C:/Program Files/ruby-1.9.3/bin/ruby.exe" extconf.rb
creating Makefile
make
Makefile:160: warning: overriding commands for target `C:/Program'
Makefile:153: warning: ignoring old commands for target `C:/Program'
C:/Program Files/ruby-1.9.3/bin/ruby -e "puts 'EXPORTS', 'Init_parser'" > parser-i386
mingw32.def
/bin/sh: C:/Program: No such file or directory
make: *** [parser-i386-mingw32.def] Error 127
Gem files will remain installed in C:/Program Files/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/json-1.7.3 f
or inspection.
Results logged to C:/Program Files/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/json-1.7.3/ext/json/ext/parser/gem_make.out
An error occured while installing json (1.7.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.7.3'` succeeds before bundling.
如果有人知道如何解决我的错误,以便我可以转到下一个或如何获得一个有效的GemFile.lock,我们将不胜感激。
答案 0 :(得分:4)
在您的开发计算机上安装json_pure
。这是json
gem的一个版本,不需要C扩展(但速度稍慢)。
在Heroku上,您应该可以直接使用更快json
。
如果你想在Windows上构建C-extension,那么你可能想看看这里:
The 'json' native gem requires installed build tools
您可以在Gemfile
中创建特定于窗口的部分,如下所示:
# Common gems
gem 'xyz'
...
# Platform specific gems
platforms :ruby do
gem 'json'
end
platforms :mswin, :mingw do
gem 'json_pure'
end
答案 1 :(得分:3)
答案 2 :(得分:0)
我遇到了同样的问题,发现在我的config.yaml文件中,有一个Ruby 1.9.2的安装,其中有一个空格。我必须完全卸载该版本的Ruby,并将其从环境变量中的PATH中删除。然后,我重新安装了DevKit,它运行得很好。