【发布时间】:2012-11-06 14:13:33
【问题描述】:
人,
我是 ROR 的新手,不是新人(不再是),但对将应用程序转移到生产环境没有经验。为了了解迁移到生产流程的工作原理,我创建了一个非常简单的 rails 项目。以下是关于我的系统(在 Windows 7 上运行)的一些基本信息:
Ruby version 1.9.3 (i386-mingw32)
RubyGems version 1.8.24
Rack version 1.4
Rails version 3.2.8
JavaScript Runtime JScript
Active Record version 3.2.8
Action Pack version 3.2.8
Active Resource version 3.2.8
Action Mailer version 3.2.8
Active Support version 3.2.8
Application root C:/Sites/railstest
Environment development
Database adapter sqlite3
Database schema version 0
中间件:
ActionDispatch::Static
Rack::Lock
#<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x2a70f20>
Rack::Runtime
Rack::MethodOverride
ActionDispatch::RequestId
Rails::Rack::Logger
ActionDispatch::ShowExceptions
ActionDispatch::DebugExceptions
ActionDispatch::RemoteIp
ActionDispatch::Reloader
ActionDispatch::Callbacks
ActiveRecord::ConnectionAdapters::ConnectionManagement
ActiveRecord::QueryCache
ActionDispatch::Cookies
ActionDispatch::Session::CookieStore
ActionDispatch::Flash
ActionDispatch::ParamsParser
ActionDispatch::Head
Rack::ConditionalGet
Rack::ETag
ActionDispatch::BestStandardsSupport
我的虚拟主机是 webhost。
这就是我所做的:
- 使用 rails new railstest 生成一个名为 railstest 的新 Rails 应用程序
- 用我的虚拟主机上使用的版本更新了 gemfile
- 运行“bundle install --deployment”以将所有 gem 放在供应商目录中。
- 将所有内容通过 FTP 传输到虚拟主机
- 通过 PuTTY 成功运行捆绑安装
但是当我调用该站点时,我总是会得到如下信息: http://www.kernification.de/rails/info/properties (我没有足够的声望在这里张贴图片...)
我已经尝试了更多(我正在为这个问题争取大约 1.5 周),但它似乎一直都是同一个问题。网络主机支持告诉我 gem 位于 1.9.1,而不是 1.8,我对此有一些疑问:
- 1.9.1(或1.8)是什么版本?红宝石?宝石?
- 如何强制在 1.9.1 而不是 1.8 中寻找 gem?
我也尝试使用 pik 作为版本管理器,但到目前为止我只会使用 webhostone,所以如果我安装了一个可以运行的 ruby 版本,我会很高兴。到目前为止,我不需要在任何版本之间切换。我也搬到了 xubuntu,在那里创建了同样简单的应用程序,同样的结果。
如果您能分享您的经验,那就太好了,非常感谢!
【问题讨论】:
-
另外,我建议使用 SCP 或 SFTP 而不是 FTP 将您的应用程序传输到部署服务器上。两者都向经过加密验证的 SSH 服务器提供加密文件传输。
-
更新:今天我删除了 rails 并使用了一个 railsinstaller,它为我提供了与 prod 上相同的版本。服务器:服务器: '$ rails -v' 'Rails 3.2.8' '$ ruby -v' 'ruby 1.9.2p0(2010-08-18 修订版 29036)[i486-linux]' ' $ gem -v' '1.8.24' 本地 Windows: 'C:\Sites>rails -v' 'Rails 3.2.8' 'C:\Sites>ruby -v' 'ruby 1.9. 2p290 (2011-07-09) [i386-mingw32]' 'C:\Sites>gem -v' '1.8.24' 问题仍然相似,生产轨道正在寻找...gems/1.8/...而不是 ...gems/1.9.1/... 用于宝石。
-
请查看您的 GemFile 了解更多详情。这些错误看起来像是 gem 位于 1.8 中,而对于 Ruby1.9.3,它应该位于 1.9.1 目录中
-
这是我从 gem 环境中得到的:Server: GEM PATHS: - /usr/lib/ruby/gems/1.9.1 - /home/.gem/ruby /1.9.1 本地 Windows: - GEM PATHS:- C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1 - C:/Users/scs/.gem/ruby/ 1.9.1 看起来两者都在使用 1.9.1。
-
检查应用程序目录中的 GemFile.File。
标签: ruby-on-rails ruby gem rake production