0

ERL_LIBS環境変数へのすべての依存関係を使用して、ChicagoBoss をセットアップしようとしています。私はChicagoBossを取得し、それをコンパイルしました./rebar get-deps && ./rebar compile.ChicagoBossが/home/user/ChicagoBossディレクトリにあり、ディレクトリに依存関係があり/home/user/ChicagoBoss/depsます. に追加したいERL_LIBS.bashrcファイルに次の行を入れました:

export ERL_LIBS=/home/user/ChicagoBoss/:/home/user/*/deps/*/

しかし、ChicagoBoss の依存関係から何かを試してみると、ranchたとえば次のように適用されます。

application:start(ranch).

エラーが発生しました:

{error,{"no such file or directory","ranch.app"}}

ありがとうございました。

4

3 に答える 3

0

ERL_LIBSは、すべての依存プロジェクトが存在する親ディレクトリを指すだけです。プロジェクトが Erlang プロジェクトのディレクトリ規則 ( yourproject/src、yourproject/ebin、yourproject/include ) に従っている場合、Erlang はそれらのプロジェクトの ebin と include をコンテキストに動的に関連付けます。

/place/Project1

/place/Project1/ebin/...
/place/Project1/include/...
/place/Project1/deps/...
/place/Project1/deps/DependencyProject2...
/place/Project1/deps/DependencyProject3...

上記でわかるように、/place/Project1/depsは他のサブプロジェクト (依存関係) のコンテナーです。この場合、アプリケーションを次のように実行できる場合

erl env ERL_LIBS "/place:/place/Project1/deps". これにより、関連するすべてのプロジェクト ( Project1、DependencyProject2 および DependencyProject3 ) がランタイム コンテキストに含まれます。

于 2013-11-02T11:27:58.893 に答える
0

単純なアプリケーションで同じエラーが発生しました。アプリケーションのメイン ディレクトリに「dep」ディレクトリがないことが判明しました。ranch はそこにインストールされていました。私の場合、なぜ欠落していたのかわかりませんが、別の動作中の牧場アプリケーションからそのディレクトリをコピーすることで解決しました。

編集:興味深いことに、次のメッセージをコンパイルするメッセージがありました:「依存関係が利用できません:ranch-.* ({git,"git://github.com/extend/ranch.git", "master"})」 「dep」最上位ディレクトリが見つからないという警告でした。

于 2013-08-19T16:08:44.967 に答える