2

Windows XP と Haskell Platform 2013 がインストールされています。Haskell Platform がインストールされていないコンピューターでコードをコンパイルしたいが、何もインストールすることが許可されていない場合、Haskell Platform を USB フラッシュカードにコピーして、このコンピューターで実行するだけで動作します。大丈夫。

しかし、標準の Haskell Platform ビルドに含まれていない追加のパッケージが必要になることがあります。

Cabal を使って自分のパソコンに簡単にインストールできますが、ポータブルで動作するように、つまり自分のコンピュータではなくUSB フラッシュカードからインストールする方法がわかりません。

私はこれを試しました:

cabal install gnuplot --prefix "C:\Program Files\Haskell Platform\2013.2.0.0"

このパッケージは Haskell プラットフォーム ディレクトリにインストールされますが、Haskell プラットフォームを別のコンピューターで実行すると、パッケージが表示されません。

Haskell Platformのディレクトリにインストールする設定ファイルを作るべきだと思うのですが、やり方がわかりません。

この問題を解決するのを手伝ってください。前もって感謝します!



どうもありがとう、ミハイル・グルシェンコフ!すべて正常に動作します。

答えを探している私のような初心者の便宜のために、私は指示、何をすべきか、同じ結果を得るために説明するだけです:

0) 何かをする前に説明書を読む/

1) 移植可能 (依存関係あり) にインストールするために必要なすべての追加パッケージをアンインストールします。このパッケージの登録を解除します。

ghc-pkg unregister gnuplot

、次に保存場所からパッケージファイルを削除します。また、「package.conf.d」フォルダーから関連ファイルをすべて削除します。それらを検索するには、使用します

ghc-pkg list

.

2) 実行 (不要かもしれません)

ghc-pkg recache

.

3) haskell プラットフォームの目的のディレクトリにパッケージをインストールします。「C:\Program Files\Haskell Platform\2013.2.0.0\addlib」で行いました。

cabal install gnuplot --prefix "C:\Program Files\Haskell Platform\2013.2.0.0\addlib" --global

.

4) 「package.conf.d」にインストールされたパッケージに関連するすべての新しいファイルを変更します: 「C:\Program Files\Haskell Platform\2013.2.0.0\addlib\utility-ht-0.0.9\ghc-7.6.3」を置き換えます。 " $topdir\..\addlib\utility-ht-0.0.9\ghc-7.6.3"、つまり "C:\Program Files\Haskell Platform\2013.2.0.0\addlib\" -> "$topdir\..\addlib\".

5) 実行する

ghc-pkg recache

.

3a)たぶん、これはうまくいくでしょう、そして 3 (私はそれをテストしませんでした)。その場合は、3、4、および 5 を実行しないでください。

cabal install gnuplot --prefix "$topdir\..\addlib" --global

.

終わり。

*更新*

私は、この指示 (3a と 4) でいくつかのばかげた間違いを見つけました。今修正しました。

3a が機能していません。

4

1 に答える 1