2016-12-01 6 views
0

Я пытался запустить программу, которая использует графику (у меня уже есть posted about here). This post и другие посты привели меня к выводу, что мне нужно создать файл ~/.bashrc и положить в него:Почему версия Ocaml находится в файле (4.04.0), отличном от того, что говорит терминал (4.03.0)?

alias ocaml="/usr/local/Cellar/ocaml/4.03.0/bin/ocaml” 

Однако /usr/local/Cellar/ocaml/4.03.0/bin/ocaml не является допустимым файлом в моей системе. B/с, когда я побежал в терминале:

$ cd /usr/local/Cellar/ocaml/4.03.0/bin 
-bash: cd: /usr/local/Cellar/ocaml/4.03.0/bin: No such file or directory 

Но изменяя версию 4.04.0 работ:

$ cd /usr/local/Cellar/ocaml/4.04.0/bin 

Но когда я спрашиваю у терминала OCaml я бегу:

$ which ocaml 
/Users/Username/.opam/4.03.0/bin/ocaml 

Он говорит, что я бегу 4.03.0

И мое сообщение об ошибке, когда я пытаюсь запустить программу OCaml с использованием графики:

Error: Cannot find file /Users/Username/.opam/4.03.0/lib/ocaml/graphics.cma 

Так что, похоже, как мой терминал работает 4.03.0, но у меня нет OCaml 4.03.0 в /usr/local/Cellar/ocaml/4.03.0/bin и вместо этого у меня есть 4.04.0 ??

Что мне кажется очень странным.

Если бы кто-нибудь мог , пожалуйста, помогите мне, что было бы признателен! Я провел часы, пытаясь выяснить, как запустить графику на моем компьютере, и я понятия не имею, почему решения, размещенные в предыдущих постах StackOverflow не помогает :(

ответ

0

я не нахожу это странным . Псевдонима команда работает только в вашего терминала, а не для всей системы.

Возможно, у вас есть «/Users/Username/.opam/4.03.0/bin/ocaml» в вашей переменной PATH.

Я предлагаю :

export PATH="/usr/local/Cellar/ocaml/4.04.0/bin:$PATH" 

затем:

which ocaml 

и путь должен быть 4,04 версия

0

Похоже, что у вас есть несколько установок OCaml на вашей машине. Некоторые из них устанавливаются через opam, а другие - вручную или через управление системными пакетами. Я бы предложил просто проигнорировать последнее и сосредоточиться на opam.

Чтобы использовать opam, необходимо, чтобы активировал ваш переключатель. Это может быть сделано вручную,

eval `opam config env` 

(Обратите внимание на использование обратных кавычек)

Вы также можете поместить его в свой профиль, так что opam будет активироваться каждый раз, когда вы вошли в систему.Вы даже можете попросить opam сделать это для вас:

opam config setup --user 

Наконец, если вы хотите запустить программу, из вашей обычной терминальной среды, и не хотите зависеть от некоторых этапов предварительной настройки (т.е. на машине клиента), то вы можете использовать opam config exec:

opam config exec -- ocaml my-ocaml-script.ml 
+0

СММ, но я хочу версию OCaml с графикой. Я переустановил Ocaml с помощью варева ('brew reinstall ocaml --with-x11'), и это тот, который должен иметь графику ... как я могу использовать эту версию Ocaml? И как я могу узнать, какая версия Ocaml является той, у которой есть graphics.cma? – 14wml

+0

Прежде всего, вы можете установить графику в свою установку opam, просто сделайте 'opam install graphics'. Во-вторых, похоже, что ваша программа была скомпилирована с 4.03 компилятором opam, поэтому он пытается искать файл. В-третьих, похоже, что ваша установка полностью запутана, и мне нужно иметь степень в телепатии, чтобы помочь вам :) Итак, не стесняйтесь публиковать свои настройки где-нибудь, чтобы мы могли вам помочь. Вы сталкиваетесь с проблемой a/b, когда уже поздно пытаться решить проблему b. Опишите, как вы компилируете свою программу, как ее запускать и т. Д. – ivg