簡體   English   中英

我如何使Ruby 1.9.3應用適應在使用Ruby 1.8.7的服務器上工作

[英]How do I adapt a Ruby 1.9.3 app to work on a Server using Ruby 1.8.7

我有一個用Ruby 1.9.3和Rails 3.2.6編寫的應用程序。 在我將事實部署到Bluehost上之后,這里別無選擇,誰在服務器上安裝了Ruby 1.8.7。

我的寶石出現不同的時間格式錯誤。 我可以在服務器上對其進行編輯,但是下次我進行上限部署時,我將擦除更改並再次進行。 BH讓我從命令行將Rails升級到3.2.6,但是我不能升級到Ruby 1.9。

  1. 我可以升級服務器還是要用Ruby 1.8重寫我的應用程序?
  2. 如果我進行了重寫,當他們將所有服務器升級到1.9時,我是否必須再次做?

我已經致電並與BH進行了實時聊天,他們總是將我發送到新應用的設置頁面。

首先,如果該應用程序在1.8.7上運行,它(很有可能)也會在1.9.x上運行。

另一種方法是要難一些... Rails 3.2.x是支持Ruby 1.8.7的RoR的最后一個版本。 但是,除非在創建時使用了--old-style-hash ,否則您將有很多工作要做。

根據您代碼的復雜程度,修復所有散列可能就足夠了:

# Ruby 1.9:
hsh = { foo: "bar" }

# Ruby 1.8 and 1.9:
hsh = { :foo => "bar" }

您必須將應用程序重寫為Ruby 1.8。 大多數共享的Web主機尚未使用Ruby 1.9,或者至少沒有找到一個。 因此,您必須開發要部署到的服務器的規格。 大多數共享的Web主機都不知道如何處理Ruby。 PHP和Perl等在服務器環境中已經存在了很長時間,並且眾所周知,但是Ruby仍然有些新。

或者,您可以找到更好的/ VPS主機。 我把prgmr.com視作學習管理VPS環境的一種預算方法(我不隸屬於他們),但是我在Linode上有一個VPS,我不需要他們的服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM