2016-12-05 7 views
1

私はconan 0.16.0で作業していますが、ローカルストアにパッケージをインストールする方法を理解できません。 私の考えは、レシピを作成し、レシピから必要なすべてのパッケージを作成し、それらをローカルストアにインストールし、それらをすでにあるように再コンパイルすることなく他の開発者が利用できるようにコナンサーバーにアップロードすることです利用可能です。私は私ができることを確認ローカルストアにパッケージをインストールするには?

  • レシピ(私のビルドおよびエクスポート方法とconanfile.py)
  • を作成し、私はconan export user/channel
  • を使用してローカルストアにインストール:私は実際に行う

    私はmkdir mypackagecd mypackageconan package ..

  • でパッケージを作成し、私はホを知らないconan build
  • を行うことによって構築私は地元の店で私のパッケージを有することが判明し

(後に、私は、サーバーへのローカルストアからレシピ&にパッケージをアップロードしたいと思います)ローカルストアにこのパッケージをインストールするにはワット唯一の方法です前のレシピを必要とする別のレシピを作成してからconan install --buildとしてください。私の最初のレシピのパッケージがビルドされ、私の地元の店に出品されますが、この方法は私の目標を達成するための "偽の"要件を作成するように強制します。

パッケージをビルドしてローカルストアに直接インストールする方法はありますか?

答えて

2

conan docsから、パッケージを作成するにはconan installにする必要があります。 conan buildコマンドは、ローカルプロジェクトのビルドにのみ使用され、エクスポートしたパッケージをビルドするためには使用されません。

実際には、パッケージを作成してテストするには、test_package機能を使用することをお勧めします。the tutorialに従ってください。一般的に、ドキュメントはファッションのような非常にチュートリアルで書かれているので、私はそれに従うことをお勧めします。

ドキュメントまたはコマンドラインのヘルプをconan packageにチェックすると、デバッグ専用のコマンドであり、まれにしか使用されないことがわかります。あなたは完全にそれなしで動作することができます。

+0

つまり、特定のターゲット用のバイナリパッケージを作成するには、バイナリパッケージが必要な別のパッケージレシピを作成するか、または「test_package」でパッケージを消費してパッケージレシピを消費する必要があります。しかし、私は直接ビルドとインストールを行うことはできません。 'test_package'は安全です。そのようにすれば、私のライブラリが正しく構築されていることを保証できます。 Works for me :) – dkg

+0

はい、パッケージを作成し、パッケージの情報を含むテキストファイルを生成する '' conan install Pkg/01.1user/channel --build -g txt''を実行することもできますディレクトリ、ライブラリ名をインクルードします。また、 '' -g cmake''を使ってプロジェクトにインクルードするためのcmakeファイルを生成することもできます。しかし、このアプローチは手作業であり、エラーが起こりやすい。私は、パッケージが別のプロジェクトからリンクされていることを本当に確実に確認し、conanファイルを使うか、あるいはtest_package機能を使う方がはるかに便利で明示的です。 – drodri

関連する問題