2012-01-18 108 views
6

我真的很感激,如果你能提供一些洞察力安裝軌道3.x框架上的Ruby到沒有互聯網連接的計算機。Ruby On Rails 3.x離線安裝(沒有互聯網連接)

所有的教程或解釋似乎都假設總是有互聯網連接。是否有簡單的方法來下載包含所有依賴關係的包,並簡單地安裝包。

在此先感謝

+0

我不認爲這是可能的,但祝你好運:-) – 2012-01-18 08:30:32

回答

2

您可以使用捆綁才達到這一點。 Bundler接受您可以指定要安裝的寶石位置的路徑。在有互聯網連接的地方運行以下命令。它將下載所有的依賴項並將它們打包到指定的文件夾中。

bundle install --path gems # 'gems' is the folder present in Rails.root 

現在,所有的依賴關係都在項目中,您可以將項目複製到沒有互聯網連接的機器上。從現在開始使用如下命令:

bundle exec rails server 
bundle exec rails console 

請注意,您必須在目標機器上手動安裝bundler gem。

+0

我目前的環境是winxp。由於不熟悉rails 3和bundle,因此在安裝了mingw和bundle gem之後,我做了一些閱讀。我使用以下內容來源創建GemFile「http://rubygems.org」gem「rails」。在提供您提供的命令後,我收到以下錯誤。獲取http://rubygems.org/的源索引無法訪問rubygems存儲庫http://rubygems.org/ 在列出的任何gem源代碼中找不到gem'rails(> = 0)x86-mingw32' n你的Gemfile。 – user1155710 2012-01-18 12:07:11

+0

'bundle install'命令之前是這樣的一句話:**在有互聯網連接的地方運行以下命令。**您需要在連接互聯網的機器上創建項目,然後運行'bundle install',然後您可以將項目複製到非互聯網連接的機器上。 – Nate 2012-01-18 14:49:10

7

最後。您需要手動下載的Gems完整列表,以便以脫機模式安裝Rails(或在防止「gem」命令正常工作的代理之後)。

此列表假定您已經有了下面的東西(Windows 7)中:

  1. Ruby 1.9.2

  2. RubyGems 1.8.24

  3. DevKit

  4. 列表。

轉到rubygems.org並使用搜索功能下載以下每個寶石。你不需要輸入版本號和東西的完整名稱。例如,只是「actionmailer」將工作,並會找到最新版本)。

每個gem頁面都會顯示您在正常情況下安裝在不在代理後面的計算機上時必須鍵入的命令行。忽略它,只需點擊下載鏈接。

  • 的ActionMailer-3.2.6.gem
  • ActionPack的-3.2.6.gem
  • 了activerecord-3.2.6.gem
  • 的ActiveResource-3.2.6.gem
  • 的ActiveSupport-3.2。 6.gem
  • 耙0.9.2.2.gem
  • I18N-0.6.0.gem
  • multi_json-1.3.6.gem
  • activemodel-3.2.6.gem
  • arel-3.0.2。寶石
  • tzinfo-0.3.33.gem
  • 建設者,3.0.0.gem
  • erubis-2.7.0.gem
  • 旅程,1.0.4.gem
  • 機架1.4.1。寶石
  • 機架緩存1.2.gem
  • 機架測試0.6.1.gem
  • 鏈輪,2.1.3.gem
  • 加息,1.2.1.gem
  • 傾斜1.3.3.gem
  • 郵件2.4.4.gem
  • MIME類型,1.19.gem
  • 樹梢,1.4.10.gem
  • 通曉多國語言,0.3.3.gem
  • 軌-3.2.6.gem
  • 捆綁,1.1.4.gem
  • railties-3.2.6.gem
  • 架-SSL-1.3.2.gem
  • 的RDoc-3.12.gem
  • 托爾0.15.3.gem
  • JSON-1.7.3.gem

(31個文件總計)

只要記住,該版本可能會改變。我在2012年6月完成了這些工作,這些版本適用於我。

將所有這些文件複製到Ruby安裝目錄。 然後,打開CMD控制檯。

cd \ 
cd <RubyInstallDir> 
gem install rails-3.2.6.gem 

安裝應該正常運行。 某些依賴項可能需要不同的版本。 在這種情況下,錯誤信息會顯示正確的版本。所以你只需要從rubygems.org下載版本(在gem頁面中有一箇舊版本的列表),然後再次運行gem install命令。

我希望這可以提供幫助。

+0

你是一個紳士和學者張貼這個 – 2014-02-04 16:14:28

0

我知道這個問題涉及到Rails 3,但是我創建了PortableRails,正是因爲這個(最近已經更新以支持Rails 4)。只要確保您運行的是bundle --local而不是bundle(這是新操作嘗試執行的操作)。