質問: PythonのTerminolgiesとしてのRubyパッケージング環境 私はRubyにいくつかの経験がありますが、それは私のPythonの経験よりも少ないです。私はいくつかのPythonパッケージをパッケージ化して公開しましたが、私が公開したRubyパッケージは1つだけです。 Pythonと比較して、Rubyパッケージのエコシステムについて素早く学びたいと思っています。 * Rubyにはvirtualenvに相当するツールがあると思いますが、それはまだ分かりません。 RVMとBundlerの役割は何ですか? * Pythonパッケージを書くときには、通常、 `setup.py` コマンドを使用します。依存関係は解決されますが、サイトパッケージにはインストールされません。 Rubyに相当するものは何ですか? * Rubyパッケージのディレクトリレイアウト構造を作るための好ましい方法は何ですか? * Gemパッケージの命名規則Gemは大文字と小文字を区別しますか?含まれているRubyモジュールの名前と同じである必要がありますか? * 私が見逃したその他の点。
回答: RVMはvirtualenv checkout rbenvと似ています(おそらくvirtualenvのようなものです) Bundlerは、開発とデプロイメントの依存関係をパッケージ化するためのもので、 `setup.py` とpip(RubygemsとBundlerのいくつかの機能を持っているようです) Bundlerの `Gemfile` はpipの要件ファイルに似ています Bundlerは開発ディレクトリに依存関係をインストールし、それらをデプロイメント用にパッケージ化します。 ディレクトリのレイアウトは次のようになります。 ``` / - lib - classes/modules etc. bin - executables things you want on $PATH test - unit tests ``` Jeweler is a good tool for setting up, maintaining and releasing gems. 編集: 他にもいくつかのリソースがあります: Rubyレイアウトのいくつかのリンク: * 純粋なRubyプロジェクトのディレクトリレイアウト * 理想的なルビープロジェクトの構造 * http://www.ruby-forum.com/topic/213637 いくつかはPython用です: * Pythonに最適なプロジェクト構造アプリケーション? * プロジェクトのレイアウトをPythonで初期化しますか? ここではツールの比較をしています: * http://news.ycombinator.com/item?id=2513005