我需要安装 PLT Racket 的帮助,我将 Racket 文件夹移到 Applications 但我不知道如何在终端中使用 raco 命令

Posted

技术标签:

【中文标题】我需要安装 PLT Racket 的帮助,我将 Racket 文件夹移到 Applications 但我不知道如何在终端中使用 raco 命令【英文标题】:I need help installing PLT Racket, I moved the Racket folder into Applications but I don't know how to use the raco command in the terminal 【发布时间】:2012-02-21 06:23:39 【问题描述】:

解释一下,我有 OSX,我想安装 PLT Racket。我不知道如何使用 raco 命令在终端中运行 .rkt 文件,而不是使用 Dr. Racket 解释器。我不太喜欢 DrRacket 文本编辑器。

我将 bin、lib 和其他文件夹放在哪里?我似乎根本无法访问 raco 命令或 Racket bin 中的任何其他命令。

【问题讨论】:

如果您唯一的问题是使用文本编辑器,您可以对源文件使用您希望使用的任何编辑器,并且仍然使用解释器进行解释。 我想我可以做到,但我想了解如何在终端中使用 Racket 附带的命令。 我分享你的轻微困惑。显然,Mac OS X 软件包是 DMG,即使您应该手动安装才能实际使用它(例如,有 raco 可用)。虽然我可以手动安装,但 DMG 的意思是(按照惯例)“不要那样做!” 我添加了一个关于此的可用性错误报告:bugs.racket-lang.org/query/?cmd=view&pr=13356。 【参考方案1】:

不要移动子组件。这可能会破坏 Racket,它希望 bin 目录相对于其库位于某个位置。

改为:将 Racket bin 目录添加到您的 PATH。有关在 Mac OS X 中设置环境变量的更多详细信息,请参阅 Set environment variables on Mac OS X Lion 或 Setting environment variables in OS X?。

例如,我个人在“/Applications/Racket v5.2/”下有 Racket 5.2。我有一个 ~/.profile 包含以下内容:

mithril:~ dyoo$ cat .profile
## Adding Racket 5.2 to my PATH
export PATH=/Applications/Racket\ v5.2/bin:$PATH
## .. other contents omitted

重新登录后,我可以从终端看到 Racket:

mithril:~ dyoo$ which racket
/Applications/Racket v5.2/bin/racket

我还有一个文件,~/.MacOSX/environment.plist,其内容为图形程序定义了更多的环境变量。我的有以下内容:

mithril:~ dyoo$ cat .MacOSX/environment.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>MANPATH</key>
    <string>/usr/local/man:/usr/share/man:/usr/local/share/man:/usr/X11/man</string>

    <key>PATH</key>
    <string>/Users/dyoo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/Applications/Racket\ v5.2/bin</string>
</dict>
</plist>

有了这个文件,我可以从不从 .profile 登录文件继承其环境的图形程序运行 Racket。

【讨论】:

你把这个 .plist 放在哪里,你怎么做? 哦,那是我的错误,没有注意到环境变量的链接是有意义的。 我尝试制作此文件,然后移至我创建的 .MacOSX 文件夹,但重新登录时仍然无法正常工作。我在这里做错了什么吗?我将您的用户名更改为我的,当我键入 echo $PATH 和 echo$MANPATH 时,它会以我设置的相同字符串响应。但是,当我输入 which racket 时似乎什么也没发生,并且当我尝试使用 racket example.rkt 时,它说命令找不到/不存在。 你能回显 $PATH 并给我们看吗?另外,您能否确认您已在 Applications 目录中安装了 Racket? TheVerv:平!您是否能够使其正常工作,或者您仍然遇到问题?【参考方案2】:

您可以直接 cd 进入 Racket/bin 目录并从那里执行它(如果 . 不在您的路径中,您可能需要指定 ./raco)。或者您可以指定 raco 的完整路径(无法帮助您,因为我不知道您安装它的位置)。

【讨论】:

谢谢,在我阅读这篇文章之前的几分钟前,我实际上已经弄清楚了,我把它移到了我的 bin 文件夹中,然后创建了一个路径。问题是我找到的每个指南都是针对非 bash 终端的,所以当我发现我最终按照你说的做。 哦...别动它!见丹尼的评论。真的,把它放在你的 bin 文件夹中是不可行的。【参考方案3】:

如果您只想运行.rkt 文件中的程序,您可能希望使用racket 程序而不是raco。例如,如果您有hello.rkt,请输入racket hello.rkt,假设它在您的路径中。 Raco 主要是一个开发工具(比如创建可执行文件)。有关运行程序的更多信息,请参阅指南的intro 部分。

【讨论】:

以上是关于我需要安装 PLT Racket 的帮助,我将 Racket 文件夹移到 Applications 但我不知道如何在终端中使用 raco 命令的主要内容,如果未能解决你的问题,请参考以下文章

emacs 为什么找不到运行程序?

如何评价 Racket 这门编程语言?

安装Emacs并设置racket环境

The Racket Guide

重新定义 Racket 中的语法以接受四元数

为啥在 Racket 中以一种奇怪的方式定义 foldl?