私はHaskellでのコーディングが大好きですが、ソフトウェアをインストールできないコンピューターを使用していることが多く、実行できるものにいくつかの制限があります。Haskellコードを書いて、このコンピューターでテストしたいと思います。Java、JavaScript、Ruby、Python、またはMacのデフォルトインストールで利用可能な別のインタプリタ言語で書かれた、インタプリタまたはコンパイルされたHaskellのバージョンを知っている人はいますか?ユーザーレベルでインストールできるHaskellのスタンドアロンバージョンも機能しますが、Haskellを自分でコンパイルすることはできません。
3 に答える
GHCバイナリディストリビューション(インストーラーではなくtarballとして提供されるもの)はすべて、ローカルに簡単にインストールできます。
./configure --prefix=$HOME/ghc
make install
次に、パスを更新して$ HOME / ghc/binを含めます
カバールが必要な場合は、ハッキングからtarballを取得し、tarを解除して、bootstrap.shを実行します。
GHCは、ローカルインストールとして非常にうまく機能します。実際、私はそれをシステムインストールとして使用することはありません。
私は自分のワークステーションでもこれを行っているので、私が使用しているディストリビューション(私の場合はDebian)は、単純なことに気付かずに突然アップグレードを開始しませんapt-get upgrade
。
このソリューションは、完全なプレフィックスghc
とプレフィックスをインストールします。haskell-platform
~/.cabal
まず、~/local
カスタムコンパイルされたプログラムをホームディレクトリに配置するために使用するディレクトリがあります。私は通常、システムへsudo make install
のランダムなMakefile
ルートアクセスを許可しているため、この手順が嫌いです。
次に、 ghcサイトからghcバイナリディストリビューションをダウンロードします。7.4.2にリンクしたことに注意してください。Mac OS Xにセグメンテーション違反のバグがあると聞きましたが、詳細はわかりません。代わりにそれをチェックするか、新しいghcを入手する必要がありますが、7.6で動作するようにまだ修正されていない、ハッキングに関する多くのパッケージがあることに注意してください。また、その「STOP!」は無視してください。警告、あなたは実際に非配布GHCバイナリを望んでいる1%です。
ghcディレクトリにCDを挿入し、それを実行して./configure --prefix=$HOME/local/haskell
から、make install
(コンパイルは不要です。コンパイルではなく、インストールするだけです)。
この時点で、~/local/haskell/bin
パスに追加する必要があります。これが私が自分に入れたコードです。~/.zshrc
これにより、すべての~/local/*/bin
ディレクトリがパスに追加されます。
その後、Haskellプラットフォームを入手して、同じ./configure --prefix=$HOME/local/haskell && make && make install
ダンスを行うことができます。このステップはコンパイルが必要です。これは、いくつかのヘッダーライブラリをインストールする必要があることを意味します。特に厄介な必要なランダムなopenGLヘッダーを見つけました。
もちろん、haskell-platformをスキップして、 cabal-installを直接ダウンロードしてから、必要なものをインストールすることもできます。いずれにせよ、あなたはあなたに追加することを忘れない~/.cabal/bin
でください$PATH
!
を実行し、cabal update
あなたは行ってもいいはずです。
注:GHCのバイナリ配布に必要な重要な部分が1つあります。これは、古いLinuxシステムでは重要な場合があります。libgmpです。それは動的にリンクされており、OS Xで共有libgmpが見つからないというエラーが発生した場合は、コメントでその質問をすることができます。その方法を説明します。基本的に、libgmp+depsを自分でコンパイルする必要があります。
しかし、それはOSXでは問題になるとは思いません。これを試した古いDebianボックスのいくつかで問題になっているだけです。
単一ファイルの場合、コードパッドを使用できます。