2012-08-27 42 views
0

我是RoR的一員,我使用的是Windows安裝程序,安裝的很好。 問題是當RoR試圖跳出http://rubygems.org時,它無法到達那裏。在windows上的封閉網絡中安裝Ruby on Rails

所以我的問題是,我可以在哪裏更改信息來源,我可以單獨下載這些寶石並將它們放入RoR的源代碼目錄中?

我很感激任何幫助,我已經打了很多天的頭。

+0

您是否使用命令行來安裝寶石,或者您的問題是否隨着運行Bundler而反過來無法上網? –

回答

2

您可能位於代理之後。儘管您的網頁瀏覽器和其他各種應用程序可能設置爲通過代理工作,但RubyGems不是。

如果您知道您的http代理地址和端口,您可以將它作爲命令行參數傳遞給Ruby Gems。

儘管我會建議將您的代理設置爲系統變量,但您可能沒有該選項,因爲我在當前的工作地點也沒有該選項。

gem install rails --http-proxy=https://your.proxy.address:portnumber 

關於此信息在RubyGems manual

編輯:

有一種方法可以手動下載和安裝gem。這可能很麻煩而且很煩人,但這是可能的。

轉至RubyGems.org並使用搜索功能找到所需的寶石。對於這個例子,我將使用Devise。在Devise的頁面上有一個下載鏈接。將寶石和cd下載到該位置。如果將它保存到C:\manual_gems,那麼cd C:\manual_gems

Devise的當前版本是2.1.2。所以,一旦你的文件夾中保存的寶石:

gem install devise-2.1.2.gem 

來了繁瑣的部分。你會注意到一個錯誤,說它需要依賴關係。 RubyGems頁面還提供了依賴關係列表。在最終能夠安裝gem之前,您將不得不針對每個依賴關係執行相同的過程。例如,Devise需要守望者,而守護者又需要ActionPack,ActiveSupport,Rack-SSL,Rake,RDoc和Thor(如果你有Rails,你可能已經安裝了它)。這是RubyGems和Bundler爲您提供的遞歸之旅。

當所有這些都到位後,您可以在Rails應用程序中修改您的GemFile以指向本地寶石。我沒有測試過,但沒有關於它提供的解決方案的話題上similar SO question一個公認的答案:

gem 'devise', path: 'path/to/devise' 

再次,繁瑣,但如果你真的想要得到一個Rails應用程序啓動和運行在一個有限的環境如你所暗示的,這應該可以發揮作用,或者讓你順利進行。

+0

我希望是這樣。我無法獲得外面的任何東西。 – user1628331

+0

無論如何通過下載它並將其上傳到我的服務器來獲得RoR所需的內容。然後將RoR指向該位置,以便我可以完成安裝? – user1628331

+0

我用手動方式下載了寶石並安裝了它們,從而更新了我的答案。 –