Невозможно заставить работать Google-appengine для Jruby - PullRequest
2 голосов
/ 22 ноября 2011

Я весь день пытался заставить работать app-engine sdk, ничего не изменилось.

Я очистил gemset и установил google-appengine gem, выполнив

sudo gem install google-appengine

У меня установлены следующие самоцветы

[gdev@vbox-gdev GAE]$ sudo gem list
Password: 

*** LOCAL GEMS ***

appengine-apis (0.0.24)
appengine-rack (0.0.13)
appengine-sdk (1.4.3)
appengine-tools (0.0.17)
bundler08 (0.8.5)
google-appengine (0.0.21)
jruby-jars (1.5.6)
jruby-rack (1.0.4)
rack (1.3.5)
rubyzip (0.9.4)
[gdev@vbox-gdev GAE]$ 

и как уже упоминалось в этом учебном пособии (http://code.google.com/p/appengine-jruby/wiki/GettingStarted) Я использую CRuby вместо Jruby

[gdev@vbox-gdev GAE]$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]

Я получаю сообщение об ошибке на первом шаге

[gdev@vbox-gdev GAE]$ appcfg.rb generate_app hello
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will be deprecated in the future, use String#encode instead.
=> Generating gemfile
/usr/lib/ruby/gems/1.9.1/gems/appengine-tools-0.0.17/lib/appengine-tools/gem_bundler.rb:63: warning: already initialized constant RUBY_ENGINE
=> Bundling gems
ERROR:  While executing gem ... (RuntimeError)
    Unknown command bundle
[gdev@vbox-gdev GAE]$ 

При установке bundler (версия 1.0.21 или 0.8) выдает ту же ошибку.

Есть предложения по решению этой проблемы?

PS: я использую Arch Linux на виртуальной коробке

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

Прежде всего вы должны придерживаться Ruby 1.8.7.1.9.x никогда не взлетал на appengine-jruby, хотя это возможно.Более того, вы должны использовать Rubygems 1.3.7.

Мои локальные драгоценные камни:

appengine-rack (0.0.13)
appengine-sdk (1.4.3)
appengine-tools (0.0.17)
bundler (1.0.21)
bundler08 (0.8.5)
google-appengine (0.0.21)
haml (3.1.4)
jruby-jars (1.5.6)
jruby-rack (1.0.4)
rack (1.4.0)
rubyzip (0.9.5)
sass (3.1.12)

Но угадайте, что, кроме драгоценного камня google-appengine, это не очень важно.Гораздо важнее это: ls .gems/bundler_gems/jruby/1.8/gems:

addressable-2.2.7              extlib-0.9.15        multipart-post-1.1.5
appengine-apis-0.0.22          faraday-0.7.6        oauth2-0.5.2
appengine-rack-0.0.12          haml-3.1.4           rack-1.2.1
Basaah-pony-gae-0.2.1          jruby-jars-1.5.6     rack-flash-0.1.2
bouncy-castle-java-1.5.0146.1  jruby-openssl-0.7.2  sass-3.1.15
dm-appengine-0.0.9             jruby-rack-1.0.5     sinatra-1.2.7
dm-core-0.10.2                 json_pure-1.6.5      tilt-1.3.3
dm-validations-0.10.2          multi_json-1.1.0

Это, по крайней мере, даст вам легкий старт.(Вы можете настроить версию в Gemfile)

Кстати, хорошо, что вы используете Linux.

1 голос
/ 15 января 2012

хм ... с одной стороны, я не уверен, как именно вы настроили свой jruby или какую версию jruby вы используете. Вы должны запустить jruby 1.5.5 на appengine из памяти.

Я настоятельно рекомендую следовать этому руководству: http://www.khelll.com/blog/ruby/google-app-engine-jruby-sinatra-and-some-fun/

После примерно 3 или 4 аналогичных руководств, это была единственная конфигурация, которая работала для меня. У меня возникли некоторые проблемы с ssl, но приложение работает с использованием гема движка приложения и успешно разворачивается в ядре приложения.

...