質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Haskell

Haskellは高い機能性をもった関数型プログラミング言語で、他の手続き型プログラミング言語では難しいとされている関数でも容易に行うことができます。強い静的型付け、遅延評価などに対応しています。

Arch Linux

arch(アーク)は、バージョン管理システムです。 また、リポジトリ(アーカイブ)操作を行えるツールの総称として扱われています。

Q&A

解決済

2回答

3104閲覧

Haskell-Ide-Engine + VSCodeで"cannot satisfy -package-id というエラーが出て動作しない

RheoTommy

総合スコア13

Haskell

Haskellは高い機能性をもった関数型プログラミング言語で、他の手続き型プログラミング言語では難しいとされている関数でも容易に行うことができます。強い静的型付け、遅延評価などに対応しています。

Arch Linux

arch(アーク)は、バージョン管理システムです。 また、リポジトリ(アーカイブ)操作を行えるツールの総称として扱われています。

0グッド

0クリップ

投稿2020/01/25 14:38

編集2020/01/26 03:34

Manjaro KDE + Stackという環境において、タイトル通りHIEが正常に動作しません。

HIEはYayでAURからインストールしました。ソースコードからのインストールも試しましたが、githubに具体的な手順が乗っていなかったのと、試しても途中でビルドが失敗してしまったことから、AUR版のインストールをしました。

HIEとStackの環境

shell

1$ hie --compiler 2ghc-8.6.5 3$ stack --version 4Version 2.1.3, Git revision b2e2f3d0568e6d73fc0477dee8ca7c04466ec1f6 (dirty) (7736 commits) x86_64 5$ stack ghci 6(省略) 7GHCi, version 8.6.5: http://www.haskell.org/ghc/ :? for help 8(省略)

HIEインストール時に気になったこと

Nixを使った導入も試してみましたが、AURのNixがうまく動作しなかったため見送っています。
また、yayで入れたとき、$HOME/.local/binにインストールされるのではなく、/usr/binにインストールされます。また、hiehie-8.6といった実行ファイルは生成されず、hie-x.y.zの形式の実行ファイルのみ生成されます。

VSCodeの設定など

VSCodeはPacmanでインストールしました。
Haskell-Language-Serverをインストールし、そのままで実行しても動かず、/usr/bin/下のHieを指定しても動かず、/usr/bin以下のファイルを$HOME/.local/binにコピーし、そのパスを指定しても動きませんでした。(動かなかった = タイトルのエラーが出て機能しない)

その他、必要な情報があったら追記します。

追記

(1)

shell

1$ stack build 2AtCoder-0.1.0.0: unregistering (local file changes: app/Main.hs) 3AtCoder> configure (lib + exe) 4Configuring AtCoder-0.1.0.0... 5AtCoder> build (lib + exe) 6Preprocessing library for AtCoder-0.1.0.0.. 7Building library for AtCoder-0.1.0.0.. 8Preprocessing executable 'AtCoder-exe' for AtCoder-0.1.0.0.. 9Building executable 'AtCoder-exe' for AtCoder-0.1.0.0.. 10[3 of 3] Compiling Main 11Linking .stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/AtCoder-exe/AtCoder-exe ... 12AtCoder> copy/register 13Installing library in /home/rheo/Programming/Haskell/AtCoder/.stack-work/install/x86_64-linux-tinfo6/898bda1ae1c16010598674766ebc9f375e301b9972c152b2f1f5bb58ba92c01e/8.6.5/lib/x86_64-linux-ghc-8.6.5/AtCoder-0.1.0.0-LSTvfxvgTvfAibwxmPYywb 14Installing executable AtCoder-exe in /home/rheo/Programming/Haskell/AtCoder/.stack-work/install/x86_64-linux-tinfo6/898bda1ae1c16010598674766ebc9f375e301b9972c152b2f1f5bb58ba92c01e/8.6.5/bin 15Registering library for AtCoder-0.1.0.0..

また、stack newで作成したプロジェクトでも機能しませんでした。HIEではなく、intellij-haskellで開発する際には、同じプロジェクトでも問題なくビルド、実行ができました。

(2)

shell

1$ cat log 22020-01-26 12:15:51.886807453 [ThreadId 4] - Run entered for HIE(hie) Version 1.0.0.0, Git revision 6fb1a548846a38a44659e5746718fbd1b1d278d9 (3570 commits) x86_64 ghc-8.6.5 32020-01-26 12:15:51.887018889 [ThreadId 4] - Operating as a LSP server on stdio 42020-01-26 12:15:51.887059816 [ThreadId 4] - Current directory:/home/rheo/Programming/Haskell/AtCoder 52020-01-26 12:15:51.887094246 [ThreadId 4] - Operating system:linux 62020-01-26 12:15:51.887143875 [ThreadId 4] - args:["--lsp","-d","-l","log"] 72020-01-26 12:15:51.887257899 [ThreadId 4] - 8 9 10 11 12haskell-lsp:Starting up server ...

かなり待ちましたがこれより多くのログが書かれることはありませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

igrep

2020/01/26 00:12

いくつか気になります。 (1) 対象のプロジェクトのディレクトリーでstack buildを実行したらどんな結果になりますか?(もしかしたら、一度ビルドに成功することによってエラーがなくなるかも知れません (2) 対象のプロジェクトのディレクトリーで「hie --lsp -d -l <ログファイル名>」を実行してしばらく待ったら<ログファイル名>には何が出力されますか?
guest

回答2

0

自己解決

解決しました!
公式のgithubにissueを出したところ、すぐに回答頂き、私の見落としが見つかりました!

hie.yamlを配置すれば問題ないとのことです。

以下が該当issueのページになります!
https://github.com/haskell/haskell-ide-engine/issues/1616

投稿2020/01/30 07:27

編集2020/01/30 07:28
RheoTommy

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

残念ながら私には解決方法はわかりませんが、同じだとおぼしきIssueが見つかったので紹介します。

VSCode extension emits error "Got error while processing diagnostics: <command line>: cannot satisfy -package-id base-4.9.1.0 (use -v for more information)" · Issue #1465 · haskell/haskell-ide-engine

IntelliJ-Haskellは動いているとのことですし、当面は他のエディターを使った方がいいのかも知れません。

投稿2020/01/27 00:37

igrep

総合スコア428

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RheoTommy

2020/01/27 10:41

何度か読んだことがあり、hieのコンパイルをしたときのghcのバージョンとプロジェクトでのghcのバージョンの不一致が原因になってるとの話もありましたが、合わせてみても効果はありませんでした。 英語はまだ得意ではないので、見落としがあるかもしれないですが、あのissueでも解決策は出ていなかったと思います このエラー本当に情報量が少ないんですよね… わざわざ調べてくださった上での回答有り難うございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問