【问题标题】:How to best install Rhino on OSX 10.6 Snow Leopard如何在 OSX 10.6 Snow Leopard 上最好地安装 Rhino
【发布时间】:2026-01-25 08:30:01
【问题描述】:

我正在运行 OSX 10.6 Snow Leopard,已下载 rhino1_7R2 并将其移至 /usr/local/

但我知道(虽然这会阻止它被操作系统更新更改)这可能不是它的最佳位置,并且想象它可能需要连接到 Java 安装。

我对 Rhino 的预期用途是从终端命令行运行 JavaScript,我正在寻求帮助,因为我相信我缺乏 Java 知识来快速解决这个问题。

如果有任何帮助或建议链接,我将不胜感激,

谢谢保罗

【问题讨论】:

标签: java javascript macos osx-snow-leopard rhino


【解决方案1】:

我之前没用过Rhino,只是很快从Mozilla 拿了1.7R2 试用了一下。它似乎是一个标准的 Java jar 可执行文件。与 Java 相比,它的位置无关紧要(应该如此)。

在您的情况下,您需要做的就是运行它,如下所示(来自 Terminal.app):

java -jar /usr/local/rhino1_7R2/js.jar

我注意到这个特定的程序实际上是启动一个交互式 JS shell,这可能不是你想要的(但它可能是),但如果你用 -help 运行它,你会看到它的完整用法:

java -jar /usr/local/rhino1_7R2/js.jar -help

【讨论】:

  • 谢谢,这就是我需要知道的关于 Rhino 应该/可以安装在哪里的信息。
【解决方案2】:

请注意,从 Java 6 开始,脚本 API 已内置在标准 Java 库中,您真的不再需要像 Mozilla Rhino 这样的第三方库了。 (事实上​​,Java 6 中的脚本 API 是 Mozilla Rhino 的改编版)。

请参阅 API documentation 以获取软件包 javax.script 并参阅:Scripting for the Java Platform

Mac OS X 10.6 (Snow Leopard) 上的默认 Java 版本是 Java 6,因此您应该能够使用标准脚本 API 而无需安装任何特殊的东西。

注意:我发现 jrunscript 已安装在我的 Mac 上,但由于某种原因它不在 PATH 中,因此如果我在终端中键入 jrunscript 则无法找到它。在我的文件系统中,它在这里:

/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/jrunscript

【讨论】:

  • 谢谢,我发现它不在 PATH 中,尽管使用您提供的完整路径确实在 shell 中运行 jrunscript。我会看看是否添加符号链接,或者将其添加到 ~/.profile 可以使路径更短。
  • 您注意到答案左上角的赞成箭头了吗? ;-)
  • 嗨杰斯珀,好点子!我确实注意到了投票箭头,但我需要 15 或更多的声望才能使用它们...
【解决方案3】:

正如其他答案和 cmets 中提到的 jrunscript,它是一个方便的工具,但它不支持完整的 Javascript 1.5。

$ jrunscript -q
Language ECMAScript 1.6 implemention "Mozilla Rhino" 1.6 release 2

从 Rhino 1.6R6 开始完全支持 JavaScript 1.5,Rhino 1.7 支持 JavaScript 1.7。

Rhino 1.6Rx 应该支持 E4X,但奇怪的是这个简单的例子在 jrunscript 中失败了:

$ jrunscript -e 'toto = <tata/>'
script error: sun.org.mozilla.javascript.internal.EvaluatorException: erreur de
syntaxe (<string>#1) in <string> at line number 1

我在让 jrunscript 与 John Resig 的 env.js 一起工作时遇到了麻烦(允许在 Rhino 脚本中加载 jQuery、Prototype 和其他库),因为 1.6R2 没有实现 get & set 属性(它们是在 1.6 中添加的R6 IIRC)。

更多关于 Rhino 版本的信息在这里:

所以我认为 Rhino 1.7R2 更适合您,因为您已经拥有它。只需使用别名或其他东西来缩短命令行。

【讨论】:

  • 感谢您提供的信息!它鼓励我坚持使用 Rhino。你会在哪里安装 Rhino 1.7?像我一样在 /usr/local/ 中还是在其他地方?您提到使用别名,您会使用哪两条路径来连接?