2013-02-07 7 views
6

私はOPAMをインストールして初期化を実行し、.bashrcコードも更新しました。私はその後、正常に行ったocamlfindパッケージをインストールしました。私はOPAMパッケージが実行されていません

#use "topfind";; 

をしようとすると、しかし、私は、私はopenSUSEの12.2上のソースから構築されたOCaml 4.00.1を実行している以下の

Cannot find file topfind 

を取得します。

答えて

4

$OCAML_TOPLEVEL_PATHが定義されていない場合、あなたはそれを定義しています

export OCAML_TOPLEVEL_PATH=/home/%user%/.opam/%version%/lib/toplevel 

%user%とあなたのコンパイラ%version%

を変更することを忘れないでくださいはopamのバグトラッカーにこのissueをチェックしてください。

+0

こんにちは、何のバージョンのディレクトリは「.opam」ディレクトリにありません。 'エイリアス' 'アーカイブ' 'コンパイラ' 'config''と' 'descr'のみがあります。 – Jatajuuf

+0

小さな変更を追加しました。パスは '/ home /%user%/。opam/system/lib/toplevel'でした。ありがとう。 – Jatajuuf

8

まず、あなたが実行して適切な環境変数をエクスポートする必要があります。

eval `opam config env` 

をより効果的であるために、あなたはあなたの~/.profile(または~/.bashrc)でその行を置く必要があります。あなたは、システムのコンパイラを使用している場合

その後、あなたはあなたの~/.ocamlinitにこれらの行を追加することができます。

let() = 
    try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") 
    with Not_found ->() 

我々は1.0をリリースする前に、このプロセスの改善に取り組んでいます。

+0

これも機能しました。 OPAMをありがとう、私は前にGODIを実行してライブラリをインストールすることはできませんでしたが、今は痛みです! – Jatajuuf

1

何が

rlwrap ocaml -I "$OCAML_TOPLEVEL_PATH"

としてトップレベルを開始する場合は、代替トップレベルを試すことができます:utop(それはOPAMに存在する)

+0

こんにちは、私はrlwrapをインストールしていない、私はデフォルトのocamlインタプリタでEmacsをセットアップしているので、私はtuaregの "utop"に切り替え続けたくない。とにかくありがとう。 – Jatajuuf

+0

'rlwrap'は必要ありません。 'ocaml -I" $ OCAML_TOPLEVEL_PATH "は問題を解決するはずです。 – Stas

+0

'$ OCAML_TOPLEVEL_PATH'変数を設定すると、' ocaml'自体を実行できます。 – Jatajuuf

関連する問題