haskell-jp / beginners #18 at 2021-09-22 01:32:44 +0900

はじめまして!

環境構築について質問です。

m1チップのmacbookでvscodeを使ってhaskellを学習したいのですが、vscode上でhlsがうまく動いてくれません。以下のようなエラーメッセージが出ます。
Error on initialize: $HOME/.cache/ghcide: createDirectory: permission denied (Permission denied)
Couldn't start client Haskell
The Haskell server crashed 5 times in the last 3 minutes. The server will not be restarted
一つ目のエラーで 権限がないとのことなので、
$ chmod -R +w $HOME/.cache

としたのですが、依然としてエラーが出ます。

ちなみに今は、ghcupを使ってghc, cabal-install, hlsを入れています。(stackは入りませんでした。)
vscodeの拡張機能の設定でhlsのpathは`$HOME/.ghcup/` 以下のbinを指定しています。

どなたかm1チップのmacとvscodeで環境構築できた方がいたら構築方法をご教示いただけないでしょうか?

よろしくお願いします:man-bowing:
@mm1995tk さん、はじめまして!

僕も最近M1 macを使って、VSCodeでhaskellを学習しているものです。
@mm1995tk さんと同様に、ghucup + VSCodeを使って環境構築しました。環境構築の途中で僕も同様のエラーに当たりました。
やはり、ARMが悪さしているのかなと思い、Rosseta2を使ってx86_64で環境構築してみました。そして、再度環境構築を行ったところうまく行きました。
ARMとRosseta2(x86_64)の切り替えは以下が参考になりました。
https://zenn.dev/_lambda314/articles/63b851221a7016
ありがとうございます!

おっしゃる通り、先程ロゼッタでターミナルを起動したらhlsがうごいて補完が出るようになったのですが、stylish-haskellがvscodeから実行できない状況です。
chmod 700 で実行できるようになりましたがスッキリしないので、いただいた記事を参考にやり直してみます:man-bowing:
とりあえず、よかったです!
ちなみに、M1 (ARM)にはまだ対応していないっぽい?です

2021/3段階で対応していないとの記事がありますが
https://blog.miz-ar.info/2021/03/my-first-contribution-to-ghc/
https://www.haskell.org/ghc/blog/20210309-apple-m1-story.html

いまだ、対応できていない状況だと思われます。
https://gitlab.haskell.org/ghc/ghc/-/issues/18664
紹介いただいたブログを書いた者です。GHC本体は8.10.5でApple Siliconに対応してます(9.0系は9.0.2で対応する見込み)。周辺ツールの状況は把握しきれていません(明日確認します)。
最近のghcupではArmネイティブなGHCが入るっぽいですね。私の環境ではghcupでArmネイティブなghc/cabal/hlsを入れて(Armネイティブな)VSCodeから普通に使えてしまいました。