RubyGems site使其運行私人寶石服務器聽起來相當容易!私人寶石服務器 - 在服務器上未找到依賴關係(404)
我的測試設置是這樣的:一個AWS EC2實例是我的工作站,我還有另一個設置爲寶石服務器。
在寶石服務器實例上,我安裝了pry
寶石。如果我在該實例上運行gem server
並在我的Web瀏覽器中訪問公共DNS,我可以看到pry
以及gem列表中的所有依賴關係。
在我的工作站我創建了一個假的應用程序目錄用一個簡單的Gemfile:
source "http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808"
gem "pry"
似乎很簡單!但是,當我在工作站上運行bundle install
我得到以下錯誤:
[[email protected] my_app]$ bundle
Fetching source index from http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/
Resolving dependencies...
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/gems/coderay-1.1.1.gem)
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/gems/method_source-0.8.2.gem)
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/gems/slop-3.6.0.gem)
Using bundler 1.12.5
An error occurred while installing coderay (1.1.1), and Bundler cannot continue.
Make sure that `gem install coderay -v '1.1.1'` succeeds before bundling.
所以似乎認識到pry
可用,但依賴關係,從coderay
,都沒有找到(404錯誤)。
我已經運行gem server
時擺弄--dir
標誌,以便它看起來像這樣:
gem server --dir=/home/ec2-user/.gem/ruby/2.0 --dir=/usr/share/ruby/gems/2.0 --dir=/home/ec2-user/.gem/ruby/2.0/cache/
...我甚至已經走了到這些目錄並運行gem generate_index
正如我看到推薦在另一個問題上,但我仍然無法在使用此專用服務器的工作站上安裝pry
作爲source
。
有什麼我失蹤?
是的我意識到所有的依賴關係也需要在我的寶石服務器上。顯然'coderay'和'pry'的其他直接依賴關係在我的服務器上;否則'撬'不會被安裝。所以問題是:爲什麼不找到'coderay'? – sixty4bit