关注this post我安装了brew,然后重新安装了ocaml以包含图形:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew cask install xquartz
brew reinstall ocaml --with-x11
但重新启动计算机后,当我尝试运行使用图形的ocaml程序时出现错误
Error: Cannot find file /Users/.../.opam/4.03.0/lib/ocaml/graphics.cma
该帖还说:
最后记得检查正在运行的ocaml实例 是
/usr/local/Cellar/objective-caml/x.yy.z[_w]/bin
中的那个,和 如果不是,则将该URL添加到您的PATH
环境中 变量
如何检查正在运行的ocaml实例?这张海报的意思是“将这个网址添加到你的PATH
环境中”?
我已尝试将目录更改为该路径,但出现错误:
$ cd /usr/local/Cellar/objective-caml/
-bash: cd: /usr/local/Cellar/objective-caml/: No such file or directory
如果有人可以请告诉我我需要做些什么才能让graphics.cma正常工作!
我已尝试创建.bashrc
并输入
alias ocaml="/usr/local/Cellar/ocaml/4.04.0/bin/ocaml”
然而无济于事......我很遗憾该怎么做。如果有人能给我一个关于做什么的知识,那就太棒了!
(注意:我将4.04.0
代替4.03.0
,因为当我浏览目录/usr/local/Cellar/ocaml/4.03.0/bin/ocaml
但目录/usr/local/Cellar/ocaml/4.04.0/bin/ocaml
确实存在时)
答案 0 :(得分:2)
如何检查正在运行的ocaml实例?
如果您的问题是:在shell提示符下的终端窗口中键入ocaml
时正在运行的程序(或更常见的是execvp和其他功能)?那么你应该使用which ocaml
命令。
海报的意思是"将这个网址添加到你的PATH环境"?
详细了解PATH变量。它通常设置在您的~/.bashrc
file中(如果您的交互式shell为bash
,您应该使用您最喜欢的editor或其他一些bash初始化文件仔细编辑一次。您应该使用echo $PATH
命令检查它是什么。另见this。请注意,expanded期间~/.bashrc
bash
opam
为shell。另请阅读PATH
的文档,尤其是globbing章。
如果您使用的是$PATH
,则应阅读其文档。值得注意的是Bash Startup Files(提及PATH
)来自常见问题解答。
由于别名主要用于交互式shell,因此为大多数shell脚本定义别名是不够的。您确实需要在其中提到的目录中更改{{1}}和/或添加文件(或符号链接)。
PS。了解{{1}}的作用以及如何设置它对于严格使用命令行是必须的,特别是在POSIX系统上。
答案 1 :(得分:1)
通常,自制程序会将其所有二进制文件,库和设置放在/usr/local/Cellar/PACKAGENAME/VERSIONNUMBER
中,但它也会在/usr/local/bin
中创建指向最新包/版本的符号链接。
所以,如果你看看我的/usr/local/bin
,你会看到:
ls -l /usr/local/bin
<强>输出强>
lrwxr-xr-x 1 mark admin 26 30 Jan 2016 ack -> ../Cellar/ack/2.14/bin/ack
lrwxr-xr-x 1 mark admin 43 11 Oct 13:30 amqp-consume -> ../Cellar/rabbitmq-c/0.8.0/bin/amqp-consume
lrwxr-xr-x 1 mark admin 49 11 Oct 13:30 amqp-declare-queue -> ../Cellar/rabbitmq-c/0.8.0/bin/amqp-declare-queue
lrwxr-xr-x 1 mark admin 48 11 Oct 13:30 amqp-delete-queue -> ../Cellar/rabbitmq-c/0.8.0/bin/amqp-delete-queue
lrwxr-xr-x 1 mark admin 39 11 Oct 13:30 amqp-get -> ../Cellar/rabbitmq-c/0.8.0/bin/amqp-get
lrwxr-xr-x 1 mark admin 43 11 Oct 13:30 amqp-publish -> ../Cellar/rabbitmq-c/0.8.0/bin/amqp-publish
lrwxr-xr-x 1 mark admin 28 17 Jul 22:49 7z -> ../Cellar/p7zip/16.02/bin/7z
lrwxr-xr-x 1 mark admin 29 17 Jul 22:49 7za -> ../Cellar/p7zip/16.02/bin/7za
lrwxr-xr-x 1 mark admin 29 17 Jul 22:49 7zr -> ../Cellar/p7zip/16.02/bin/7zr
lrwxr
如您所见,ack
指向地窖中ack
的版本2.14,依此类推。
因此,一般情况下,使用自制软件时,不应直接使用Cellar中的任何内容,因为这是特定于版本的。相反,你应该使用/usr/local/bin
并依靠指向酒窖中最新/最伟大的东西。这样,您在升级时不会感到痛苦,并且您不必在所有脚本中将所有app-1.01
更改为app-1.0.2
因为您将使用app
(根据您的PATH,这意味着/usr/local/bin/app
)而不是任何版本特定的。
因此,我建议您使用bash
修改TextEdit
个人资料,如下所示:
open -e ~/.profile
并在最后添加此行:
export PATH=/usr/local/bin:$PATH
删除所有特定于版本的别名并注销,然后重新登录。