4

私はHaskellでのコーディングが大好きですが、ソフトウェアをインストールできないコンピューターを使用していることが多く、実行できるものにいくつかの制限があります。Haskellコードを書いて、このコンピューターでテストしたいと思います。Java、JavaScript、Ruby、Python、またはMacのデフォルトインストールで利用可能な別のインタプリタ言語で書かれた、インタプリタまたはコンパイルされたHaskellのバージョンを知っている人はいますか?ユーザーレベルでインストールできるHaskellのスタンドアロンバージョンも機能しますが、Haskellを自分でコンパイルすることはできません。

4

3 に答える 3

11

GHCバイナリディストリビューション(インストーラーではなくtarballとして提供されるもの)はすべて、ローカルに簡単にインストールできます。

./configure --prefix=$HOME/ghc
make install

次に、パスを更新して$ HOME / ghc/binを含めます

カバールが必要な場合は、ハッキングからtarballを取得し、tarを解除して、bootstrap.shを実行します。

GHCは、ローカルインストールとして非常にうまく機能します。実際、私はそれをシステムインストールとして使用することはありません。

于 2012-09-07T20:50:30.577 に答える
3

私は自分のワークステーションでもこれを行っているので、私が使用しているディストリビューション(私の場合は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ボックスのいくつかで問題になっているだけです。

于 2012-09-07T20:58:21.063 に答える
2

単一ファイルの場合、コードパッドを使用できます

于 2012-09-07T21:02:16.073 に答える