2012-06-05 7 views
1

레일에서 루비를 처음 사용하며, 첫 번째 프로젝트를 git 및 heroku와 함께 사용하려고합니다. Michael Hartl의 튜토리얼을 따르고 있습니다. 나는 원래Windows에서 json gem을 설치하는 중 오류가 발생했습니다.

git push heroku master 

하려고했지만 나는 GemFile.lock을 해달라고, 그래서 json으로 천연 보석을 ​​가지고 있겠지 때문에 번들을하려고 설치하고 번들 업데이트하지만 아무것도 작동되지 않았습니다.

bundle update 

이 오류가 reuturned 명령, 그 전체가 아니라 오류가 난 사람이 내가 움직일 수 있도록 내 오류를 수정하는 방법을 알고 있다면 이미

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

개발 컴퓨터에 json_pure을 대신 설치하십시오. 이것은 json 보석의 버전으로 C- 확장이 필요하지 않습니다 (조금 느립니다).

헤로 쿠에서는 더 빨리 json으로 갈 수 있습니다. 당신이 창에 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 
+0

나는 이미 그 글을 보았고 모든 것을 시도했다. 마지막 단계 인 ruby ​​dk.rb가 설치되면 GemFile.lock이 필요하다고 말합니다. – Tom

+0

@Tom - Ok. 아직 시도하지 않았다면 몇 가지 제안을 추가했습니다. – Casper

+0

동일한 문제가 있었으며이 솔루션이 저에게 효과적이었습니다. 고마워요 @ 캐스퍼 –

3

Windows에서 "C : \ Program Files"의 공간을 올바르게 이스케이프 처리하지 못합니다. 나는 잠시 동안 Windows를 사용하지 않았지만 빠른 검색은 fewfixes을 나타냅니다.

0

동일한 문제가있어서 config.yaml 파일에 공간이있는 Ruby 1.9.2가 설치되어있는 것으로 나타났습니다. Ruby의 해당 버전을 완전히 제거하고 환경 변수의 PATH에서 제거해야했습니다. 그런 다음 DevKit을 다시 설치하면 완벽하게 작동합니다.

관련 문제