jruby rubygems Обновление перерывов jgem - PullRequest
1 голос
/ 23 февраля 2010

Кто-нибудь видел это: ?? Нет jgem команда работает вообще ?? Хотя jruby -S gem list работает. Я использую jruby 1.3.1 и Sun Java6 jre

root@test:/usr/local: jgem --version  
1.3.3  

root@test:/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  

root@test:/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 ]

3 голосов
/ 23 марта 2010

Обратите внимание, что это, похоже, происходит только в Linux (не OSX), и я исправил это, заменив строку в верхней части скрипта jgem из:

#!/mnt/java/jruby-1.4.0/bin/jruby

до

#!/usr/bin/env jruby
2 голосов
/ 13 апреля 2010

Существует ограничение оболочки: невозможность использования сценариев оболочки в строках shebang, и поскольку средство запуска JRuby (было) основано на оболочке, это ломает вещи. Хорошей новостью является то, что в JRuby теперь есть встроенный модуль запуска (для windows, linux, macos), и использование его вместо оболочки запуска позволит без проблем поместить его в строки shebang.

0 голосов
/ 25 февраля 2010

Учитывая, что строка 8 в скрипте jgem является первой строкой ruby ​​(остальные - комментарии / пробелы) я бы сказал, что что-то сломалось (j) ruby ​​в вашей оболочке.

Попробуйте запустить новый сеанс оболочки и посмотрите, является ли он просто временным.

Попробуйте это:

jruby -v

jirb

и т.д ...

...