昨天我試圖解決readline控制檯問題(在irb中慢速複製/粘貼),我無法修復 - 但也必須弄亂一些東西與我的RVM設置不好。Rails 2.1.0 Gem Missing - RVM,Passenger,Apache
Ubuntu 11.10。
首先我的問題:無法通過虛擬主機加載網站,只能通過腳本/服務器。當通過虛擬主機加載,我得到這個:
Missing the Rails 2.1.0 gem. Please `gem install -v=2.1.0 rails`,
update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails
version you do have installed, or comment out RAILS_GEM_VERSION to use
the latest version installed.
寶石榜單顯示(編輯爲清楚 - 注意,這兩個MySQL中,軌道2.1和乘客顯示在列表中 - 它是從全局和myapp21 gemsets斂):
[email protected]:/var/www/myapp$ gem list
*** LOCAL GEMS ***
....
actionmailer (2.1.0)
actionpack (2.1.0)
activerecord (2.1.0)
activeresource (2.1.0)
activesupport (2.1.0)
bundler (1.0.21)
capistrano (2.9.0)
mysql (2.8.1)
passenger (3.0.11)
rack (1.3.5)
rails (2.1.0)
rake (0.9.2.2)
...
所以,這裏是到目前爲止,我已經試過的東西:
我已經完全刪除了所有gemsets,RUBYS(只有一個,1.8.7),然後RVM本身。從guide重新安裝。新增乘客,捆綁商(不用於這個項目),以及capistrano爲gemset全球。 apache2的安裝乘客模塊(乘客安裝-Apache2的模塊),之後指示添加負載乘客東西/etc/apache2/apache2.conf中:
LoadModule passenger_module /home/tom/.rvm/gems/[email protected]/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /home/tom/.rvm/gems/[email protected]/gems/passenger-3.0.11
PassengerRuby /home/tom/.rvm/wrappers/[email protected]/ruby
然後:RVM寶石打造myapp21 - 繼續安裝rails 2.1.0,mysql,gemset等其他寶石。
設置的myapp/.rvmrc:
rvm use [email protected]
和配置/ setup_load_paths.rb:
if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
begin
rvm_path = File.dirname(File.dirname(ENV['MY_RUBY_HOME']))
rvm_lib_path = File.join(rvm_path, 'lib')
$LOAD_PATH.unshift rvm_lib_path
require 'rvm'
RVM.use_from_path! File.dirname(File.dirname(__FILE__))
rescue LoadError
# RVM is unavailable at this point.
raise "RVM ruby lib is currently unavailable."
end
end
我有我的虛擬主機:
[email protected]:/var/www/myapp$ cat /etc/apache2/sites-enabled/myapp.local
<VirtualHost *:80>
ServerName myapp.local
RailsEnv development
DocumentRoot /var/www/myapp/public
<Directory /var/www/myapp/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
現在的一些信息:
[email protected]:/var/www/myapp$ rvm info
[email protected]:
system:
uname: "Linux DEVPC2 3.0.0-13-generic-pae #22-Ubuntu SMP Wed Nov 2 15:17:35 UTC 2011 i686 i686 i386 GNU/Linux"
bash: "/bin/bash => GNU bash, version 4.2.10(1)-release (i686-pc-linux-gnu)"
zsh: " => not installed"
rvm:
version: "rvm 1.10.0-pre by Wayne E. Seguin ([email protected]) [https://rvm.beginrescueend.com/]"
ruby:
interpreter: "ruby"
version: "1.8.7"
date: "2011-06-30"
platform: "i686-linux"
patchlevel: "2011-06-30 patchlevel 352"
full_version: "ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]"
homes:
gem: "/home/tom/.rvm/gems/[email protected]"
ruby: "/home/tom/.rvm/rubies/ruby-1.8.7-p352"
binaries:
ruby: "/home/tom/.rvm/rubies/ruby-1.8.7-p352/bin/ruby"
irb: "/home/tom/.rvm/rubies/ruby-1.8.7-p352/bin/irb"
gem: "/home/tom/.rvm/rubies/ruby-1.8.7-p352/bin/gem"
rake: "/home/tom/.rvm/gems/[email protected]/bin/rake"
environment:
PATH: "/home/tom/.rvm/gems/[email protected]/bin:/home/tom/.rvm/gems/[email protected]/bin:/home/tom/.rvm/rubies/ruby-1.8.7-p352/bin:/home/tom/.rvm/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
GEM_HOME: "/home/tom/.rvm/gems/[email protected]"
GEM_PATH: "/home/tom/.rvm/gems/[email protected]:/home/tom/.rvm/gems/[email protected]"
MY_RUBY_HOME: "/home/tom/.rvm/rubies/ruby-1.8.7-p352"
IRBRC: "/home/tom/.rvm/rubies/ruby-1.8.7-p352/.irbrc"
RUBYOPT: ""
gemset: "myapp21"
使用腳本/服務器允許我加載到localhost:3000(或任何指定的端口)。但是我無法加載myapp.local,這是昨天我能夠做到的 - 它告訴我rails缺失。
我認爲正在發生的事情: 乘客裝載紅寶石,虛擬主機的東西仍然工作,但由於某種原因,它不是從setup_load_paths抓住指令加載基礎上,rvmrc我gemsets(我不是,如果完全確定這是發生了什麼,但如果是這樣,它不會這樣做)。
我的下一步是乾淨安裝。只是讓這臺機器全部成立,不想浪費我的週末。
請使用您問題上的編輯鏈接添加其他信息。後回答按鈕應該只用於問題的完整答案。 - [來自評論](/ review/low-quality-posts/11315953) – sadaf2605
@ sadaf2605這是如何編輯?它提供瞭解決方案;具體來說,乘客安裝apache2模塊的作品。這不是一個最佳的解決方案,但它不是***我們應該從評論中刪除的東西。請在審覈時注意並全部閱讀。 – Undo