یاد بگیرید چگونه Haskell را بهصورت محلی نصب کنید تا تمرینهای Exercism را روی سیستم خودتان حل کنید
روش توصیهشده برای نصب ابزارهای Haskell، استفاده از GHCup است.
با GHCup میتوانید کامپایلرهای نصبشده، مدیرهای پروژه/بسته و سرور زبان خود را مدیریت کنید.
برای انجام تمرینهای Exercism فقط به Stack نیاز دارید.
برای نصب Stack، دستور یا اسکریپت نصب GHCup را اجرا کنید. گزینههای پیشفرض را دنبال کنید، اما مشخص کنید که میخواهید Stack هم نصب شود.
اشتباهی از نصب Stack صرفنظر کردید؟
نگران نباشید: کافی است بعداً ghcup install stack را اجرا کنید.
GHCup موارد زیر را نصب میکند:
یک کامپایلر (GHC: کامپایلر Glasgow Haskell)
اگر دقیق بخواهیم بگوییم، برای Exercism به آن نیازی ندارید، اما زمانی که بخواهید بیرون از پوشههای تمرین با GHCi سرگرم شوید، به کارتان میآید.
Cabal
یک مدیر پروژه/بسته. برای Exercism به آن نیازی ندارید.
Stack
همان مدیر پروژه/بستهای که برای Exercism از آن استفاده میکنید. مطمئن میشود که برای هر پروژهی جداگانه (هر تمرین)، کامپایلر و کتابخانههای درست را داشته باشید.
برای بررسی اینکه نصب موفق بوده است، هر یک از این دستورها را اجرا کنید:
ghcup list: موفقیت مانند فهرست بلندی از نسخههای ابزارها دیده میشود که Stack در آن بهعنوان نصبشده علامت خورده است.stack --version: موفقیت به شکل Version 2.7.5, Git revision ... دیده میشود.Stack هر زمان که GHC لازم شود، آن را بهطور خودکار دانلود و نصب میکند. میتوانید نصب را شروع کنید و با اجرای دستورهای زیر در یک ترمینال، آن را بررسی کنید:
# Note: it only makes sense to run Stack
# inside projects, so navigate into an
# exercise directory first!
exercism download --exercise=hello-world --track=haskell
cd ~/Exercism/haskell/hello-world
stack ghc -- --version
اگر خروجی چیزی شبیه این بود
The Glorious Glasgow Haskell Compilation System, version 8.8.4
GHC درست نصب شده است.
پشتیبانی از Haskell توسط Haskell Language Server (HLS) فراهم میشود. پشتیبانی زبان ضروری نیست، اما بهشدت توصیه میشود.
کافی است افزونهی Haskell برای Visual Studio Code را نصب کنید. این افزونه از GHCup برای نصب خودکار HLS استفاده میکند و بعد از آن، همهچیز آماده است.
توجه: با تمرینهایی که تازه دانلود شدهاند، ممکن است HLS در راهاندازی مشکل داشته باشد.
اگر این اتفاق افتاد، stack test را اجرا کنید و سرور زبان را دوباره راهاندازی کنید.
مستندات HLS دربارهی پیکربندی ویرایشگر را ببینید.
ممکن است لازم باشد HLS را بهصورت دستی نصب کنید.
برای این کار، ghcup install hls را اجرا کنید.