Not getting graphics even when reinstalled Ocaml (Mac OS X)?

前端 未结 2 820
一个人的身影
一个人的身影 2021-01-27 17:22

Following this post I installed brew and then reinstalled ocaml to include graphics:

/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/i         


        
相关标签:
2条回答
  • 2021-01-27 18:02

    How do I do check the instance of ocaml that is running?

    If your question is: what program is running when you type ocaml in a terminal window at the shell prompt (or more generally thru execvp and other functions)? then you should use the which ocaml command.

    And what does the poster mean by "prepending that url to your PATH environment"?

    Read more about the PATH variable. It is often set in your ~/.bashrc file (which you should probably and carefully edit once using your favorite editor) -or some other bash initialization file- if your interactive shell is bash. You should check what it is with the echo $PATH command. See also this. Notice that ~/.bashrc is expanded by your shell during globbing. Read also the documentation of bash notably the Bash Startup Files chapter.

    If you are using opam you should read its documentation. Notably this question (mentioning PATH) from its FAQ.

    Since aliases are mostly for interactive shells, defining an alias is not enough for most shell scripts. You really need to change your $PATH and/or add files (or symlinks) in directories mentioned in it.

    PS. Understanding the role of PATH and how to set it is mandatory for serious use of the command line, notably on POSIX systems.

    0 讨论(0)
  • 2021-01-27 18:19

    In general, homebrew puts all its binaries, libraries and settings in /usr/local/Cellar/PACKAGENAME/VERSIONNUMBER but it also creates symbolic links in /usr/local/bin that point to the latest package/version.

    So, if you look at my /usr/local/bin you will see:

    ls -l /usr/local/bin
    

    Output

    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
    

    As you can see, ack points to version 2.14 of ack in the Cellar and so on.

    In general therefore, when using homebrew, you should not directly use anything in the Cellar because that is version-specific. Instead, you should use /usr/local/bin and rely on that pointing to the latest/greatest thing in the Cellar. That way you won't have pain when upgrading and you won't have to change all your app-1.01 to app-1.0.2 in all your scripts because you will just be using app (which, by virtue of your PATH, means /usr/local/bin/app) instead of anything version-specific.

    So, I would suggest you edit your bash profile, using TextEdit like this:

    open -e ~/.profile
    

    and add this line at the end:

    export PATH=/usr/local/bin:$PATH
    

    Remove all your version-specific aliases and log out and then back in again.

    0 讨论(0)
提交回复
热议问题