2013-12-23 30 views
9

私はReal World OCamlの本を通してOCamlを学ぼうとしています。彼らには、私がCoreパッケージをインストールしてutopをインストールするためのガイドがあります。しかし、私はOpamを使ってこれらの両方をうまくインストールしているように見えますが、それらを使用しようとするとどちらも動作しません。OCaml:インストール後にutopを実行できない

私はそれらを再度インストールしようとすると、私はこのメッセージを得るので、私は、彼らがインストールされていることを知っている:私はutop開始するには、「utop」を入力しようとすると、しかし

$ opam install utop core 
[NOTE] Package utop is already installed (current version is 1.10). 
[NOTE] Package core is already installed (current version is 109.55.02). 

を、それはdoesnの仕事。

$ utop 
bash: utop: command not found 
同じ

私はコアが開こう:

​​

はここで何が起こっているの?私はプログラミングに慣れていないので、インストールについて私が理解していないことがあるかもしれません。

+0

これをターミナルで実行しようとしますか?eval \ 'opam config env \' – Kakadu

+0

これを試しましたが、何らかの理由で動作しませんでした。下の私の答えを見てください。 – akim330

+0

ターミナルを再起動すると、Opamをインストールすると.bashrcが変更され、bashを再起動する必要があります。 – kristianp

答えて

9

utopについては、$PATHにはないと思われます。あなたは何でした:

$ eval `opam config env` 

あなたはopamがあなたの.bashrcに以下を追加する必要があり、あなたの新しいシェルで自動的に正しく設定したい場合:Core.Stdを開くことができないためとして

. ~/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true 

、あなたはもちろん、あなたのシェルでそれを開くことはできません、このコマンドはutopで発行する必要があります。

+0

まだ動作していないようです。私がeval 'opam config env'を入力したときに返されるコードを見るには、私の答えを見てください。多分それはいくつかの洞察を提供するでしょうか?レスポンスありがとう! – akim330

+1

私のために働いた!ありがとう。 – DCS

0

だから、私はevalの「opamコンフィグENV」をしようとしなかったし、これは何が起こるかです:

$ eval 'opam congif env' 
CAML_LD_LIBRARY_PATH="/home/jharvard/.opam/4.01.0/lib/stublibs"; export CAML_LD_LIBRARY_PATH; 
PERL5LIB="/home/jharvard/.opam/4.01.0/lib/perl5"; export PERL5LIB; 
OCAML_TOPLEVEL_PATH="/home/jharvard/.opam/4.01.0/lib/toplevel"; export OCAML_TOPLEVEL_PATH; 
MANPATH="/home/jharvard/.opam/4.01.0/man:"; export MANPATH; PATH="/home/jharvard/.opam/4.01.0/bin:/etc/log50.d:/etc/log50.d:/usr/lib/qt-3.3/bin:/etc/log50.d:/usr/libexec/lightdm:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/jharvard/.local/bin:/home/jharvard/bin"; export PATH; 

そして、それはまだ「utop」コマンドが見つからないことを言います。上記の道は私にはばかげている。誰がそれが何が問題かもしれないかを示すために戻ったものを見ることができるだろうか?

+4

あなたの引用文字が間違っています。 Àのようなものが必要です。キーボードの「1」ボタンの近くにあります – Kakadu

+0

Doh。それはまさにそれです。私はその性格が存在することを知らなかった。どうもありがとうございます! – akim330

+0

ハッピーキャリング:) – Kakadu

0

私のUbuntu-14 /ミントは、ここではUbuntuのセクションを読んだ後も

"borked" でした。

および を削除します。もう一度やり直してください。

  1. opam initを
  2. opam

をutopインストールはそれを修正しました!

3

ほとんどのオンラインリソースでubuntuにOCaml utopをインストールする方法は、誤解を招くようなユーザのようです。問題は、sudo apt-getコマンドでopamをインストールするときです.OCamlにopamインストールが付属しているため、同じコマンドを使用してOCamlを再インストールする必要はありません。あなたがしなければならないことは、ホームフォルダのOPAMルートを定義するopamの状態を正しく初期化することだけです。

したがって、OCamlを以前にインストールした場合は、最初にそれらを削除して競合を避けてください。

sudo apt-get purge --auto-remove ocaml-source 
sudo apt-get purge opam 

次にopamをインストールします。それは、依存関係行方不明の警告は、このコマンドを試す示した場合

sudo add-apt-repository ppa:avsm/ppa 
sudo apt-get update 
sudo apt-get install opam 

は、
opam install depext 
opam depext conf-m4.1 

はその後、OCamlのインストールを確認し、opam

opam init 

の状態を初期化

eval 'opam config env' 
ocaml 

インストールUTopはその後、詳細な情報については、

opam install utop 
eval `opam config env` 
utop 

とエラーを処理このblog postを参照してください。

関連する問題