2012-08-03 53 views
2

我想建立我自己的私人寶石服務器應該服務我的寶石和顯示rdoc。正如我讀過的,默認的gem服務器應該能夠做到這一點。而且因爲我不想讓除了我自己的所有寶石寶石服務器上持續顯示我做了以下內容:寶石服務器將不會服務的寶石

gem install -i /some/dir --ignore-dependencies my-special.gem 
gem server -d /some/dir # -d should let me set my gem dir 

但首先,創業板服務器仍然會顯示所有已安裝的系統,寶石和不顯示裏面有什麼some/dir。第二,努力做時:

gem install --source http://localhost:8808 my-special.gem 

我只得到了以下訊息話題:

ERROR: Could not find a valid gem 'my-special' (>= 0) in any repository 
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) 
     bad response Gateway Time-out 504 (http://localhost:8808/latest_specs.4.8.gz) 

我也得到了即使是那些獲得在

顯示的創建寶石服務器頁面上的寶石
http://localhost:8808 

我在做什麼錯?有些博客提到用gem generate_index來更新索引,但這沒有意義,因爲此工具預計*.gem文件位於/gems子目錄中,但默認情況下它們將登錄到/cache

回答

0

我很容易解決這個問題。

我什至不使用專用的寶石服務器。

我做了以下內容:

  1. 創建您的Apache Web服務器上的目錄是可投放,並在其中創建一個子目錄gems。例如:cp /my/gems/dir/*.gem /var/www/rubygems/gems

  2. 生成的創業板指數: mkdir -p /var/www/rubygems/gems

  3. 把你想要用來創建gems子目錄中的所有寶石 gem generate_index -d /var/www/rubygems

  4. 不要忘了調整訪問權限,使您的網絡服務器可以讀取內容

信息:索引必須在包含gems子目錄的目錄中生成,而不是在gems目錄本身中生成!在這種情況下,它是/var/www/rubygems

現在,您可以添加http://<my-gem-server>.domain/rubygems到您的寶石來源

+0

我得到我做寶石generate_index -d E中的同樣的錯誤:\ gemserver。它說7個寶石添加你可以遵循http://help.rubygems.org/discussions/problems/1422-gem-server-is-not-serving-gems上的所有日誌文件,但我無法解決它。仍然在cmd上獲得504。我在IIS服務器上託管我的網站 – 2012-11-28 10:23:00

+0

雖然我可以手動下載文件,但是當我嘗試從cmd它給504錯誤的網關 – 2012-11-28 10:27:26