1

ruby on rails は初めてです。最初のプロジェクトを git と heroku で動作させようとしています。Michael Hartl のチュートリアルに従っています。もともとしようとしてた

git push heroku master

しかし、私はGemFile.lockを持っていないので、バンドルのインストールとバンドルの更新を試みてきましたが、jsonネイティブgemがないため何も機能しません。

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 を取得する方法を誰かが知っている場合は、感謝します。

4

3 に答える 3

4

json_pure代わりに開発マシンにインストールしてください。jsonこれは、 C 拡張を必要としないバージョンのgem です (ただし、少し遅くなります)。

jsonHeroku では、より高速なものを直接使用できるはずです。

Windows で C 拡張機能をビルドする場合は、ここを参照してください:
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 
于 2012-06-05T23:23:10.310 に答える
3

Windowsが「C:\ProgramFiles」のスペースを適切にエスケープしていません。しばらくWindowsを使用していませんが、すばやく検索するといくつかの 修正が見つかります。

于 2012-06-05T23:31:04.667 に答える
0

同じ問題が発生し、config.yamlファイルにスペースが含まれるRuby1.9.2がインストールされていることがわかりました。そのバージョンのRubyを完全にアンインストールし、環境変数のPATHから削除する必要がありました。次に、DevKitを再インストールしましたが、完全に機能しました。

于 2012-12-20T18:57:48.613 に答える