2016-03-25 13 views
2

この奇妙な問題が発生しました:スタックファイルにローカルパッケージを追加しようとしていて、次のエラーが発生します。私は一種の仕事のことを、それ(stack build)を構築しようとしたがstack solverを使用するために私を示唆して失敗したが、ときに私はstack solverを実行したとき、私はStackローカルパッケージを追加するときにInvalidRelFileエラーが発生する

Using configuration file: stack.yaml 
InvalidRelFile "/home/max/devel/sql-fragment/sql-fragment.cabal" 

私のスタックファイルは

flags: {} 
packages: 
- '.' 
- ../sql-fragment 
extra-deps: 
    ... 

私のように見え、次のエラーを得ましたUbuntu 15.02でGHC-7.8.4とスタック1.0.4を使用しようとしています。 2つのパッケージsql-fragmentsql-fragment-mysql-simpleはgithubにあります。

+0

'sql-fragment'パッケージ自体がビルドされています...カバールファイルですか? – Carsten

+0

@Carstenそれはビルドするので、キャバルファイルはOKです。 – mb14

+0

プロジェクトのルートに '../ sql-fragment'を移動し、パスを' sql-fragment'に変更してみてください。 '.. stack.yaml'の' ..'は時々問題を引き起こし、私はなぜそれがわからないのですか? – zakyggaps

答えて

2

おそらくスタックにバグがあります。 sql-fragmentディレクトリをsql-fragment-mysql-simpleに移動し、スタックファイル内の../sql-fragmentsql-fragmentに変更して解決策を見つけることで回避策を見つけることができました。これは、ソルバーの起動 - stack solver --update-configです。奇妙なのは、ディレクトリを適切に動かして動作させる(単に記号的なリンクを作ってしまう)ことと、ソルバーが仕事を終えたら追加するということです。私はをどこに移動しましたか?パスは../sql-fragmentに戻り、stack buildは完全に動作します;-)。

+0

これはかなりばかげていますが、動作します!どうもありがとう。あなたはスタックのバグをオープンしましたか? –

+0

しました。私はシンボリックリンクがうまくいかなかった理由を理解しています。スタックはシンボリックリンクに従っているからです。 – mb14

関連する問題