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 が機能していません。