私は過去にたくさんのレールとルビー作業を行っていましたが(rvm、さまざまなタイプのルビーを使用しています)、最近ルビー作業を一切行っていません。私が入力したときに新しいRailsアプリケーションは、定期的なルビを使用すると「バンドルインストール」でjrubyを使用しようとしましたが、エラーがありますか?
which ruby: /usr/bin/ruby
ruby -v: ruby 1.8.7 (2008-08-11> patchlevel 72) [i586-linux]rails -v: Rails 3.0.7
:システムのルビーを使用して
:新しいTestAppがレール私は新しいを取得し、私はちょうど私のスキルは次のセットアップを使用して、錆びていないことを確認するために、新しいレールのアプリを作ってみましたレールアプリ、Gemfileとすべての問題はないようです。私が手
bundle install
::私は実行でTestApp、内部
私を失望させる何がある:というバンドルを意味すると思わ
org/jruby/RubyArray.java:1671:in `each': Detected invalid array contents due to unsynchronized modifications with concurrent users (ConcurrencyError)
from /home/jenny/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/spec_set.rb:12:in `each'
from /home/jenny/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/installer.rb:49:in `run'
from /home/jenny/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/installer.rb:8:in `install'
from /home/jenny/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/cli.rb:222:in `install'
from org/jruby/RubyObject.java:1334:in `send'
from /home/jenny/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/vendor/thor/task.rb:21:in `run'
from /home/jenny/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
from /home/jenny/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/vendor/thor.rb:246:in `dispatch'
from /home/jenny/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/vendor/thor/base.rb:389:in `start'
from /home/jenny/lib/ruby/gems/1.8/gems/bundler-1.0.13/bin/bundle:13:in `(root)'
from org/jruby/RubyKernel.java:1066:in `load'
jrubyを使用しています(エラーが発生している間にエラーが発生し、バンドルを実行できません)。インストール)。
明らかに間違っていますか?私は新しいレールアプリに含まれているデフォルトのgemファイルを使用しています...(http://pastie.org/2986869)
最後にレールの作業を行ったとき、すべて正常に動作しました...しかし、 、おそらくほぼ1年か?)。私が忘れているものはありますか?
編集:私は、現時点ではRVMを使用する自分自身を信じてはいけない
/ホーム/ジェニー/ binに/レール:レール/ホーム/ジェニー/ binに/バンドル :バンドル
ただ、rvmがシステムのルビーを指していることを確かめた(rvmかnoか、それは同じものを使うべきです)。
編集:「RVMリストは、」私を取得します。見ていない
rvm list
rvm rubies
ruby-1.9.2-p136 [ i386 ]
jruby-1.3.1 [ i386-java ]
jruby-1.5.6 [ i386-java ]
ruby-1.9.2-p0 [ i386 ]
ruby-1.9.2-rc1 [ i386 ]
jruby-1.2.0 [ i386-java ]
jruby-1.6.1 [ linux-i386-java ]Exception in thread "main" java.lang.NoClassDefFoundError: org/jruby/Main Caused by: java.lang.ClassNotFoundException: org.jruby.Main at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:319) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:264) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332) Could not find the main class: org.jruby.Main. Program will exit.
jruby-head [ ]
jruby-1.6.2 [ linux-i386-java ]
jruby-1.4.0 [ i386-java ]
すべてが素晴らしい、のいずれか...削除JRubyのヘッドは、その問題を取り除くが、私はまだ同じバンドルの問題を持っています。
編集:すべてのjruby rvmsを削除すると、同じ結果になります。それで、RVMがうまくいけないように見えません。 jrubyが私に "/ home/jenny/bin/jruby"を入力すると入力します。しかし...通常、jrubyを使用したいのであれば、それを指定する必要があります(例えば、jruby railsなど)....バンドルは、デフォルトでは使用しないでください。
編集(1/9/12):私のバンドラを更新すると、新しい(非常に似たような)エラーメッセージが表示されます。具体的には、同時実行エラー、同時ユーザーとの非同期変更による無効な配列内容 "gem" polyglot "少なくともjruby奇妙さ。 (私はまた、rvmのすべてをアンインストールして、すべてを再インストールしました。これは助けに思えました。ここからrvmを使います)。 polyglotをアンインストールして再インストールすることはまったく役に立ちません。
最後に、私はrvmをアンインストールしてから再インストールし、システムのルビーと私のシステムのjrubyの両方をアンインストールし、rvmには1.9.2のrubyしかインストールしていませんでした。ホウ
少なくとも、私はその問題を解決しました。今ではバンドルできますが、新しいモデルを作ることはできません。新しい質問の時間。
「バンドル」とは何ですか? 'どのレール?今あなたは 'rvm'を使っていませんか? –
このバンドルは/ home/jenny/bin/bundleです。/ home/jenny/bin/rails 現時点ではRVMを使用しているとは思っていませんが、確かにrvmがシステムのルビーを指しています(rvmかnoか、それは同じものを使うべきです)。 – Jenny
私が 'シンボリックリンクかどうかを調べる' ls -l \ 'を意味すると思います。 –