為什麼在 Ubuntu 上設定 Ruby on Rails 如此困難?

為什麼在 Ubuntu 上設定 Ruby on Rails 如此困難?

今天早上我花了幾個小時嘗試在新的 Ubuntu 實例上設定 Rails,我注意到這個過程比 Windows 上的過程要複雜得多。在 Windows 上,我訪問 ruby​​installer.org,運行可執行檔(我對 1.9.2-p180 特別感興趣),然後相應地調整系統路徑。 Rails 也不需要額外的步驟,我可以複製一個 git 儲存庫並開始工作。

在 Ubuntu 上,我必須安裝 RVM(我也可以在 Windows 上這樣做),安裝列出的先決條件,讓 apt-get 失敗,因為其中一堆軟體包不再可用。然後我最後跑了rvm install才發現 make 不起作用,所以我必須從一個 .c 檔案中手動註解掉對 openssl 的一堆依賴項並重建它,然後它最終安裝了。不過,Rails 還遠遠沒有完成,所以我必須安裝另一堆先決條件,在 ruby​​ 來源中編輯一些額外的檔案並執行它,然後我終於可以rails console開始了。

這很正常嗎?如果我要開發 Rails 應用程序,我是否應該期望在 ubuntu 上一切都需要額外花費幾個小時?我必須查閱至少 3-4 個 11.04 指南和至少 5 個不同的堆疊溢出帖子才能運行該程序,這對我來說似乎是一次非常痛苦的用戶體驗。

答案1

關於為什麼你的經歷很困難,我不確定如果不更多地了解你到底做了什麼就可以回答這個問題。關於你的問題“這很正常嗎?”我不確定這個問題是否能得到明確的回答,但我可以轉述我的經驗,希望對你有幫助!

我已經使用 Ubuntu 在 Rails 上開發兩年多了,可以說我從來不需要處理損壞的套件或觸摸/重建任何所需套件中的程式碼。我在每個版本中都完全重新安裝,我的經驗是,在每個版本中設定我的 Rails 環境更容易(可能是由於經驗的增長)。一般來說,在全新安裝 Ubuntu 後,我會說我需要不到一個小時(有時要短得多)才能將我的環境恢復到全新安裝之前的狀態。

幾天前,我按照連結教學在 11.10 上完全重新設定了我的 Rails 開發環境。我以前使用套件管理器 Ruby 套件,它工作得很好,直到我需要運行多個版本的 Ruby。請注意,依賴包管理器包進行Ruby 開發通常被認為不是在Ubuntu 上開發Ruby 的最佳方式(有關詳細信息,請參閱鏈接的文章),但過去它對我來說一直工作得很好(當您只需要一個版本的紅寶石、Rails 和 Gems)。

我認為 Linux 與其他作業系統的區別之一是它能夠以多種不同的方式完成某件事,而在其他一些作業系統中,它可能只能以特定的方式進行。設定開發環境也是如此(有多種方法可以實現),很容易看出這會導致混亂並且需要查閱不同的指南。根據我有限的經驗,使用連結文章中的RVM bash 安裝腳本是最簡單的(也就是說,考慮到RVM 的主要好處,如果RVM 對您沒有好處,那麼可能有更簡單的方法,例如套件管理器) 。

如果您更熟悉 Windows 中的開發,並且是第一次設定 Ubuntu 進行開發,我認為預計需要更長的時間是合理的,因為很多事情我們第一次學習時需要更長的時間。如果它最終是“創傷性的”,那麼我只是希望你能發現你獲得的寶貴經驗和知識:)

http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/

答案2

僅供參考:我剛剛在五分鐘內完成了 Ubuntu 12.04 上的完整 RoR 設定。

  • sudo apt-get install git git-svn postgresql-9.1 libpq-dev ruby1.9.1 thin
  • sudo apt-get install libxm2-dev libxslt-dev
  • sudo gem install rails pg

libxm2-devlibxslt-dev僅適用於 Nokogiri(如果您需要),postgresql-9.1libpq-devpg適用於 PostgresSQL 資料庫(如果您需要)。

之後,我能夠bundle install在我的 Rails 專案目錄中運行,以啟動並運行所有必要的 Gem,並且一切正常。不需要rvm,而且我從來沒有遇到過破損的包裹。好吧,所以我對其中一個不感興趣具體的Ruby 建構的,但那你為什麼呢?

也許您遇到過(不幸的是很多)“Ruby-manual-hack-installation-du-jour”網站之一,它告訴您廢棄所有套件管理系統並自行編譯所有內容。

與上一張海報相比,我認為 Windows 和 Linux 之間關於 Ruby 的一個區別是,在 Windows 中安裝軟體的「官方」方式(但有許多非官方方式,安裝程序,網站等),但在Linux中有「官方」方式(經銷商的套餐)通常效果最好,但會在一定程度上限制您的選擇。

由於 Linux 軟體往往與 Windows 軟體共享更多內容(程式碼、功能等),且「作業系統」和「應用程式」之間的差異比 Windows 中更加模糊,因此如果您開始手動編譯和安裝軟體與Windows 相比,Linux 需要更多關心依賴項、函式庫等。

最好的方法始終是獲得分銷商套餐(我的經驗)。

相關內容