Я переключил приложение ruby (используя Thoth, который, в свою очередь, использует Ramaze), чтобы работать внутри комбо rvm ruby @ gemset с bundler.Я могу получить доступ к его консольной версии, так что он рад, что у него есть драгоценные камни.Однако, когда я пытаюсь получить доступ к нему через сервер (через пассажира по nginx), я получаю эту ошибку от пассажира:
Не удалось найти activesupport-2.3.8 ни в одном из источников (Bundler :: GemNotFound)
Я не понимаю этого, так как у меня установлена активная поддержка 2.3.8 в наборе гемов приложения в rvm.Возможно, пассажир не знает о rvm или знает, как правильно использовать rvm?Я не уверен, как пассажир подключается к моему приложению и нужно ли ему знать, например, о rvm.Единственная ссылка на пассажира, которую я видел, находится в моем конфигурационном блоке nginx, где я говорю passenger_enabled on;
У кого-нибудь еще были проблемы такого рода?
max
РЕДАКТИРОВАТЬ: некоторые дополнительные сведения о моей настройке:
Мое приложение находится в /var/www/apps/akrotoski
Это находится в наборе rvm / gemset под названием ruby-1.8.7-p302@akrotoski
Мне только что пришло в голову, что это может быть проблема сnginx работает под root.Если я переключаюсь на root и выполняю echo $PATH
, я получаю
/opt/ruby-enterprise-1.8.7-2011.01/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Если я echo $PATH
в rvm моего приложения, я получаю
/home/deploy/.rvm/gems/ruby-1.8.7-p302@akrotoski/bin:/home/deploy/.rvm/gems/ruby-1.8.7-p302@global/bin:/home/deploy/.rvm/rubies/ruby-1.8.7-p302/bin:/home/deploy/.rvm/bin:/opt/ruby-enterprise-1.8.7-2011.01/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Так, может быть, nginx / passenger работает так, что не использует rvm?Как я уже сказал, я совершенно не осведомлен о том, как на самом деле пассажир подключается к приложению таким образом.