2010-02-23 2 views
1

사람이를 본 사람 jgem : ?? 아니 jgem 명령이 전혀 작동합니까 ?? jruby -S gem list이 작동하지만. 나는 JRuby를 1.3.1을 사용하고 썬 Java6은 (J)가 jgem 스크립트에서 그 라인 8 감안할 때JRuby를 젬 업데이트 나누기

[email protected]:/usr/local: jgem --version 
1.3.3 

[email protected]:/usr/local: jgem update --system 
JRuby limited openssl loaded. gem install jruby-openssl for full support. 
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL 
Updating RubyGems 
Updating rubygems-update 
Successfully installed rubygems-update-1.3.6 
/usr/local/jruby/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:103:Warning: Gem::SourceIndex#search support for String patterns is deprecated 
Updating RubyGems to 1.3.6 
Installing RubyGems 1.3.6 
RubyGems 1.3.6 installed 

[email protected]:/usr/local: jgem list 
/usr/local/jruby/bin/jgem: line 8: require: command not found 
/usr/local/jruby/bin/jgem: line 9: require: command not found 
/usr/local/jruby/bin/jgem: line 10: require: command not found 
/usr/local/jruby/bin/jgem: line 12: required_version: command not found 
/usr/local/jruby/bin/jgem: line 14: unless: command not found 
/usr/local/jruby/bin/jgem: line 15: abort: command not found 
/usr/local/jruby/bin/jgem: line 16: end: command not found 
/usr/local/jruby/bin/jgem: line 18: args: command not found 
/usr/local/jruby/bin/jgem: line 20: begin: command not found 
/usr/local/jruby/bin/jgem: line 21: Gem::GemRunner.new.run: command not found 
/usr/local/jruby/bin/jgem: line 22: rescue: command not found 
/usr/local/jruby/bin/jgem: line 23: exit: e.exit_code: numeric argument required 

답변

3

주 jgem 스크립트 상단에서 :

#!/mnt/java/jruby-1.4.0/bin/jruby 
쉘 기반, 즉 일을 나누기 오두막 라인에서 쉘 스크립트를 사용 불능, 그리고 JRuby에서의 실행이기 때문에 (WAS) : 10

#!/usr/bin/env jruby 
0

루비의 첫 번째 줄 (나머지 주석/공백 있습니다) 뭔가가 부러 말할 것입니다 JRE 너의 껍질에 루비.

는 새로운 쉘 세션을 시작 시도하고 그것은 단지 일시적인 어떤지를 확인합니다.

이 시도 :

jruby -v

jirb

등 ... 이것은 단지 리눅스 (안 OSX)에서 발생 듯 내가 선을 교체하여 고정하는 것이

+0

브래드 @ 시험 : ~ $ JRuby를 -v JRuby를 1.3.1 (루비 1.8.6p287) (2009-06-15 2fd6c3d) (자바 핫스팟 (TM) 클라이언트 VM 1.6.0_07) I386-자바] 브래드 @ 시험 : ~ (주) $의 jirb IRB : 001 : 0> 종료 모두 작동합니다. 또한, jruby -S 구문이 잘 작동하기 때문에 jruby가 작동합니다. – brad

+0

우물, ok 포맷 할 수는 없지만 두 명령 모두 작동한다는 것을 보여줍니다. 이것은 리눅스 btw에 있습니다. 내가 jgem를 사용하여 즐길 OSX에 업데이 트를 할 주저 그리고 난 내가 정말 그 파일을 확인 – brad

+0

을 필요로하는 모든 인 어쨌든 1.3.5을 가지고, 내가 통역을 설정 외형이 다른 것을 알 수 있습니다. 1.3.6에는 #!/usr/local/jruby/bin/jruby가 있고 1.3.5에는 #!/usr/bin/env jruby가 있습니다. 분명히 1.3.6의 루비가 제대로로드되지 않습니다. 나는 실제로 무슨 일이 벌어지고 있는지 쉘 스크립트에 대해 충분히 알지 못합니다. 1.3.6의 인터프리터 라인을 1.3.5의 #!/usr/bin/env jruby로 대체하면 btw가 작동합니다. – brad

2

에이 쉘의 제한 사항입니다. 좋은 소식은 JRuby에 (Windows, Linux, MacOS 용) 기본 실행 프로그램이 있으며 쉘 런처 대신이 프로그램을 사용하면 문제없이 Shebang 행에 넣을 수 있다는 것입니다.