2011-10-28 3 views
8

루비에 대한 경험이 있지만 파이썬 경험에 미치지 못합니다. 필자는 여러 개의 Python 패키지를 패키지로 제공했지만 발행 한 Ruby 패키지는 하나뿐입니다. 나는 Python과 비교하여 Ruby 패키징 생태계에 대해 빠르게 배우고 싶다.Ruby 패키징 에코 시스템 (Python Terminolgies)

  • 저는 Ruby에 virtualenv에 해당하는 도구가 있다고 생각하지만, 아직 무엇인지 모르겠습니다. RVM과 Bundler의 역할은 무엇입니까?
  • 파이썬 패키지를 작성할 때 일반적으로 setup.py develop 명령을 사용합니다.이 명령은 종속성을 해결하지만 사이트 패키지에는 설치되지 않습니다. Ruby에서 상응하는 것은 무엇입니까?
  • Ruby 패키지의 디렉토리 레이아웃 구조를 만드는 가장 좋은 방법은 무엇입니까?
  • 보석 패키지 이름 지정 규칙. 보석 이름은 대소 문자를 구분합니까? 포함 된 Ruby 모듈의 이름과 동일해야합니까?
  • 내가 놓친 다른 모든 점.

답변

10

RVM은 (VIRTUALENV 아마도 더 같은)

가 이 Bundler를 (나는 주사위를 사용하지 않은, 그것은 setup.py와 주사위처럼 작동 개발 및 배포를위한 포장 종속성, 그것은 보인다

또한 체크 아웃 rbenv를 VIRTUALENV와 유사 젬과 Bundler를의 일부 기능)을 가지고

Bundler 프로그램의 Gemfile이 요구 파일을의 핍 비슷

Bundler 프로그램이 개발 디렉토리에 종속성을 설치하고 배포 패키지화됩니다.

디렉토리 레이아웃을 같이하는 경향이 :

/ - 
    lib - classes/modules etc. 
    bin - executables things you want on $PATH 
    test - unit tests 

Jeweler이 설치 유지 및 보석을 해제하기위한 좋은 도구입니다.

편집 : 여기

은 다른 자원 : 루비 레이아웃에

일부 링크 :

파이썬에 대한 몇 가지 : 여기

하나가 만들고있다

+0

어디 젬 내가 오지 않습니다 놀아?패키지 저장소에서 코드를 다운로드하고 pip와 easy_install을 사용하는 것처럼 압축을 풉니 까? – user37078

+1

예, rubygems는 루비 "보석"또는 패키지를 설치하고 관리하기위한'gem' 명령을 제공합니다. – drnewman