
我正在嘗試在我的伺服器上安裝新版本的 redmine。現在我有 redmine 1.3.2 並安裝了 2.4.3
但乘客無法打開我的應用程序,我收到此錯誤:
我偶然安裝了不同的紅寶石。但我不想改變它,因為其他應用程式正在使用 ruby,我不想搞砸任何事情。
現在我的 RVM 說我使用的 ruby 是版本 2.0.0 (使用RVM LIST
)
如果我選擇which -a ruby
輸出是這樣的:
/home/me/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
/home/me/.rvm/bin/ruby
/usr/bin/ruby
所以我嘗試運行我的 apache2 中定義的不同 ruby。使用乘客的官方指南。但是當我將這一行放入我的 apache 時:
PassengerRuby /path/to/my/ruby
我收到錯誤“不允許在此處設定 PassengerRuby”
如何將我的 ruby 2.0.0 用於新的 redmine?現在它指向 1.8 版本,如提供的螢幕截圖所示
答案1
我遇到了類似的問題(儘管不是在 redmine 上,而是在 CentOS 6 上)。我想在我的應用程式的生產伺服器上改用 ruby 2.3.0。以下是我採取的一些步驟:
安裝紅寶石2.3.0:
rvm install 2.3.0
將其設為預設值。注意:以 root/管理員身分執行。
rvm use --default 2.3.0
安裝了最新的乘客:
gem install passenger
安裝了passenger apache2模組:
pasenger-install-apache2-module
模組安裝腳本提供了放入 apache 配置的程式碼,對我來說,它看起來像這樣:
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.29/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.29
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.3.0/wrappers/ruby
</IfModule>
我將其放入 /etc/httpd/conf.d/passenger.conf 檔案中,但也可以放入特定應用程式的 apache 設定檔中。 pasenger-install-apache2-module 安裝腳本實際上會在您編輯設定檔後檢查它們,並讓您知道是否發現任何問題。
然後重新啟動 apache 以及您的應用程式。