1

複雑な依存関係を持つプロジェクトがあり、他の開発者がそれらを簡単に取得できるようにしたいと考えています。CapfileGemfileGuardfileProcfile、およびを持っているので、プロジェクトを複製する Mac 開発者のシステム レベルのパッケージの依存関係を管理しRakefileないのはなぜでしょうか?Brewfile

私の希望は、次のような依存関係のリストであるローカル式を作成することです。

# Brewfile
require 'formula'

class DeveloperProject < Formula
  depends_on 'mongodb'
  depends_on 'postgresql'
  depends_on 'solr'
  depends_on 'phantomjs'
end

初めてレポをチェックアウトする開発者はbrew install developer_projectbrew update developer_project.

問題は、私のbrew-fuは、どこかにリポジトリ全体を作成せずに、この式をbrewに認識させる方法を理解するのに十分ではないことです.

最初は、どうにかしてファイル パスを渡すことができると思いました。

brew install /Users/me/Projects/DeveloperProject/Brewfile

次に、適切な代替式ソース管理のために、必ずしも実際のレポをホストしなくても、タップをシミュレートできるのではないかと考えました。

mkdir -c /usr/local/Library/Taps/local-tap/Formula/
ln -s \
  /Users/me/Projects/DeveloperProject/Brewfile \
  /usr/local/Library/Taps/local-tap/Formula/developer_project.rb
brew install developer_project

brew update次に、脆弱なsになりますが、それを式にシンボリックリンクできると思いました。

ln -s \
  /Users/me/Projects/DeveloperProject/Brewfile \
  /usr/local/Library/Formula/developer_project.rb
brew install developer_project

これらを機能させる方法を見つけることができず、それぞれのアプローチがますますハッキリしているように感じました。リポジトリのように鳴らさずにbrewでこれを行う方法はありますか? それ以外の場合、リモートの数式ソースのようにうまく鳴らす方法はありますか? プロジェクトの醸造マニフェストを作成する既存の方法がありませんか?

4

2 に答える 2

2

ファイル名ではなく、URL を使用して任意の式をインストールできます。したがって、そのbrew install /Users/me/...コマンドのパスをfile://URL に変換すると、リポジトリやタップなどを維持する必要なく、おそらく簡単に機能させることができます。

自動的に更新されるようにするには、式の中にバージョン番号を明示的に入れ、依存関係が変わるたびにバージョン番号を上げる必要があることに注意してください。

于 2013-04-25T08:01:47.217 に答える