所以,我有点疯狂试图弄清楚为什么我会收到这个错误。
可能正好让我使用Bitnami 快捷方式来安装Spree。尝试将gemfile从gem 'spree', '2.0.1'
更改为gem 'spree', '2.0.2'
(或从github获取最新的稳定版本)后出现以下错误
[agents/HelperAgent/RequestHandler.h:1888 ]: [Client 21] Cannot checkout session. An error occured while starting up the preloader.
Error page:
Could not find rake-10.0.4 in any of the sources (Bundler::GemNotFound)
<bitnami_install_dir>/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize'
...
<bitnami_install_dir>/ruby/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
...
<bitnami_install_dir>/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.2/lib/phusion_passenger/loader_shared_helpers.rb:212:in `run_load_path_setup_code'
...
<bitnami_install_dir>/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.2/helper-scripts/rack-preloader.rb:5:in `<main>'
我已删除gemfile.lock
,重新运行bundle install
,我可以看到我安装了正确版本的rake(10.0.4)。从网上的研究来看,我猜这可能与Passenger指向不同版本的ruby到我正在尝试运行的那个(我使用的是1.9.3而且堆栈跟踪正在呻吟1.9) 0.1)
不幸的是,我正在努力解决这个问题。
我无法让passenger-config --ruby-command
运行,但我找到了passenger.conf
:
<bitnami_install_dir>\apache2\conf\bitnami\passenger.conf
我一直在尝试更改以下行:
PassengerRuby <bitnami_install_dir>/ruby/bin/ruby
但似乎无法找到正确的道路(假设我实际上正朝着正确的道路前进......)。
我查了rvm env --path
=&gt;
$ rvm env --path
/usr/local/rvm/environments/ruby-1.9.3-p194
尝试/usr/local/rvm/environments/ruby-1.9.3-p194
和/usr/local/rvm/environments/ruby-1.9.3-p194/ruby
,但仍然没有快乐。
我一直盯着屏幕太久了,而且它已经开始迟到了 - 如果你能发现我做错了什么,我会欣赏正确方向的推动。
答案 0 :(得分:1)
脚注 :我在尝试执行passenger-config
时也发现了我的错误:
$ cd <bitnami_install_dir>/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.2/bin
$ rvm use 1.9.3
$ passenger-config --ruby-command
-bash: passenger-config: command not found
我应该使用passenger-config
的完全限定路径(通过长时间盯着它来很好地说明自己致盲的危险):
$ rvm use 1.9.3
$ <bitnami_install_dir>/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.2/bin/passenger-config --ruby-command
passenger-config was invoked through the following Ruby interpreter:
Command: /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby
Version: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.1.0]
To use in Apache: PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby
To use in Nginx : passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby
To use with Standalone: /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby <bitnami_install_dir>/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.2/bin/passenger start
The following Ruby interpreter was found first in $PATH:
Command: /usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby
Version: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.1.0]
To use in Apache: PassengerRuby /usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby
To use in Nginx : passenger_ruby /usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby
To use with Standalone: /usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby <bitnami_install_dir>/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.2/bin/passenger start
答案 1 :(得分:0)
好的,所以在经过一夜安眠和更多的挖掘之后我会有一个新的脑袋,我想我已经到了最底层。
我遇到了一个与我有类似问题的帖子,让我走上了rvm wrappers的踪迹。经过一番搜索后,我发现了我应该从一开始就引用的文档:
所以在我的情况下,解决方案是更新PassengerRuby
中的<bitnami_install_dir>\apache2\conf\bitnami\passenger.comf
定义以指向:
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby
现在一切都运行顺利,新的宝石版本(或git checkouts)。