3

所以,我有点疯狂地试图弄清楚为什么会出现这个错误。

可能适合我使用 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指向不同版本的红宝石有关,而我正在尝试运行的红宝石(我使用的是1.9.3,堆栈跟踪正在呻吟大约1.9 .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=>

    $ 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但仍然没有快乐。

我一直盯着屏幕太久了,而且时间已经很晚了——如果你能发现我做错了什么,我会很感激朝着正确的方向轻推。

4

2 回答 2

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
于 2013-06-13T13:44:59.823 回答
0

好的,所以在睡了一夜好觉之后头脑清醒,再多挖掘一点,我想我已经深究了。

我遇到了一个与我的问题类似的帖子,这让我发现了rvm wrappers的踪迹。经过一番搜索,我找到了我应该从一开始就参考的文档:

因此,就我而言,解决方案是更新PassengerRuby定义 <bitnami_install_dir>\apache2\conf\bitnami\passenger.comf以指向:

    PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby

现在,使用新的 gem 版本(或 git checkouts)一切都可以顺利运行。

于 2013-06-13T13:35:49.000 回答