2009-09-27 101 views
6

我运行OSX 10.6雪豹,已下载rhino1_7R2和移动它到/ usr /本地/如何最好的OSX上安装犀牛10.6雪豹

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

我对Rhino的预期用途是从终端命令行运行JavaScript,并且我正在寻求帮助,因为我相信我缺乏Java知识可以很快找出答案。

我希望得到任何帮助或链接到的意见,

感谢保罗

+0

您应该可以使用JDK jrunscript工具(Rhino与Java 6一起打包)来执行此操作:http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/jrunscript.1 .html – McDowell 2009-09-27 22:45:07

+0

犀牛的捆绑版本不是Rhino1_7R2,不幸的是它不包括E4X。 – 2009-09-28 01:23:25

+1

我按照这篇文章安装了犀牛 - http://ejohn.org/blog/bringing-the-browser-to-the-server/ - 但它在Leopard上,而不是Snow Leopard。不过,我认为这不重要。 – kangax 2009-09-28 02:14:24

回答

7

我以前没有使用过犀牛,但我很快从Mozilla的抓起1.7R2和尝试了一下。它似乎是一个标准的Java jar可执行文件。它与Java相比的位置是不相关的(因为它应该是)。

所有你需要做的运行它,在你的情况下,将类似于以下(从Terminal.app):

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

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

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

谢谢,那是我需要知道Rhino应该安装在哪里的地方。 – paulhhowells 2009-09-29 12:45:44

6

注意,由于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

+0

谢谢,我发现它不在PATH中,尽管使用完整的路径确实在shell中运行jrunscript。我会看看是否添加一个符号链接,或将其添加到〜/ .profile可以使路径更短。 – paulhhowells 2009-09-29 12:41:50

+0

您是否注意到答案左上角的upvote箭头? ;-) – Jesper 2009-09-30 11:27:31

+0

嗨,Jesper,好点!我注意到了upvote箭头,但我需要15或更多的声望来使用它们... – paulhhowells 2009-11-10 13:16:29

2

正如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。

犀牛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工作与约翰Resig的env.js(即允许加载了jQuery,Prototype和其他库在Rhino脚本中),因为1.6R2没有实现获取&设置属性(它们被添加到1.6R6 IIRC中)。

在这里犀牛版本的更多信息:

所以我觉得犀牛1.7R2对你更好,因为你已经拥有它。只需使用别名或其他内容即可缩短命令行的使用时间。

+0

感谢您的信息!它鼓励我坚持犀牛。 你会在哪里安装Rhino 1.7?在/ usr/local /中,就像我在其他地方一样? 你提到使用别名,你会用它来连接两条路径? – paulhhowells 2009-11-10 13:21:44