2012-02-04 133 views
1

尝试执行HTTParty的basic.rb示例。遇到一个有趣的错误。在我的Mac上执行1.8.7以下(10.7.2)。当我运行的例子(见下面的代码),我得到这个错误:Ruby出现意外的令牌错误

$ ./HTTPartyTest.rb 
./HTTPartyTest.rb: line 1: syntax error near unexpected token `(' 
./HTTPartyTest.rb: line 1: `dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))' 

如果我乘坐1号线,并通过IRB执行它,我得到这样的结果。

>> dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) 
=> "/Users/me/Workspaces/lib" 

不知道为什么会发生这种情况。任何帮助表示赞赏。

+0

是否dir = File.expand_path(File.join(File.dirname(__ FILE__),'../','lib'))给出相同的结果?它在irb中做了同样的事情,因为没有斜线。 – 2013-05-24 04:57:04

回答

8

你可能需要添加正确的哈希爆炸头或这将执行使用外壳来代替:

#!/usr/bin/env ruby 

# ... (Rest of program) 

另一种方法是明确指定要使用Ruby运行:

ruby ./HTTPartyTest.rb 
+0

谢谢。那样做了。 – floresmd 2012-02-05 01:59:58

+5

你可以把它标记为回答然后... – Bealer 2012-07-26 21:12:59

+0

这也解决了我今天用bin/rails(自定义参数)的问题。同样确切的问题。 – Caleb 2015-05-11 21:39:42