2012-07-27 5 views
2

우리는 보석을 사내에서 개발하고 로컬 보석 서버에 호스트하여 번들러와 함께 사용하고자합니다. 서버에 보석을 넣으려고하면 /api/v1/gems에 404가 표시됩니다. 이것은 실제 서버에서 발생하고 내 노트북에서 로컬로 실행하려고 할 때 발생합니다 (둘 다 보석 v1.8.24에 있음).보석을 전용 보석 서버에 넣을 수 없음

$ gem --version 
1.8.24 
$ gem server 
Server started at http://0.0.0.0:8808 
Server started at http://[::ffff:0.0.0.0]:8808 
다음

나 임의의 보석을 밀어하려고 :

$ gem --version 
1.8.24 
$ gem push --host http://127.0.0.1:8808 awesome_print-1.0.2.gem 
Pushing gem to http://127.0.0.1:8808... 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> 
<HTML> 
    <HEAD><TITLE>Not Found</TITLE></HEAD> 
    <BODY> 
    <H1>Not Found</H1> 
    `/api/v1/gems' not found. 
    <HR> 
    <ADDRESS> 
    WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20) at 
    127.0.0.1:8808 
    </ADDRESS> 
    </BODY> 
</HTML> 

내가 말할 지정해야하는 명령 줄 옵션이

여기에 보석 서버를 실행중인 터미널 세션의 gem server 푸시를 수락 하시겠습니까? 아니면 다른 것을 놓치고 있습니까?

답변

2

gem server은 이미 시스템에 존재하는 보석을 제공하기위한 것입니다. 당신이 (그렇지 않으면 명령 행 또는에서) 서버에 보석을 밀어하려는 경우, 당신은 Gem in a Box 같은 것을 들여다하거나 수동으로 역할을하고있는 디렉토리에 설치해야합니다

gem install -i <directory> --ignore-dependencies <path/to/gem> 
0

gem server은 지원하지 않습니다 새로운 Bundler API 요청 그러나 Bundler가이 서버에 액세스하면 이전 색인 형식 (specs.4.8.gz)을 대체하여 가져옵니다. Bundler API는 글로벌 (RubyGems.org) 색인이 너무 커/느려졌 기 때문에 도입되었습니다. 이는 약간의 보석이있는 사설 서버에서는 문제가되지 않습니다. 문제가 발생하는 경우 로컬 서버의 GemInABox 또는 클라우드의 Gemfury이 권장되는 솔루션입니다.

관련 문제