我通过Exception in thread "main" java.lang.ClassCastException: Examples.Family cannot be cast to java.util.Collection
at Examples.Example3.main(Example3.java:9)
安装了Ruby 2.1.2,但Passenger使用的是1.9.3,我的宝石不可用。
发现错误后,我尝试将rvm install 2.1.2
更改为passenger_ruby
但我收到此错误:
/usr/local/rvm/gems/ruby-2.1.2
所以我使用:
切换回正常的Ruby版本App 30033 stderr: *** ERROR ***: Cannot execute /usr/local/rvm/gems/ruby-2.2.2: Permission denied (13)
使用passenger_ruby /usr/bin/ruby;
我收到此错误文档:
http://jsfiddle.net/p3pde70d/
那么如何将Passenger的Ruby版本更改为2.1.x?
答案 0 :(得分:2)
可能需要在系统ruby下安装bundler。
sudo gem install bundler
虽然对于运行ruby 2.1.x,我建议不要在服务器设置中使用rvm或rbenv。为该系统安装新版本的ruby会更好。我通常只会从源代码编译我想要的版本。不知道你的操作系统是什么,但对于debian系统,可以做这样的事情:
sudo apt-get install build-essential
抓住所有必要的软件来编译像ruby这样的东西。
cd ~
wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz # you may need to install wget through apt-get
tar xvf ruby-2.2.2.tar.gz
cd ruby-2.2.2.tar.gz
./configure
sudo make
sudo make install
注意配置步骤的错误。它会告诉您是否缺少任何进一步的依赖项。成功完成后,应更新系统ruby。从那里安装bundler:)