启动script/console时必须在前面加ruby,否则不能启动?

在本机上一切正常,不管是用ruby script/console还是script/console都能启动控制台,但是在将项目传到到服务器上时只能用

ruby script/console来启动,不知道是哪里环境配错了

报的错是:No Such File Or Directory

另外启动script/ferret_server时也是如此
问题补充:
我的Rails是在ubuntu下创建好的,服务器也是linux,不知道有没有别的原因?

说明你的rails项目是在windows上面创建好的,console脚本的执行命令不对。

修改console这个脚本,把第一行改成:

[code="ruby"]#!/usr/bin/env ruby[/code]

然后保存,再授权:

[code="c"]chmod a+x console[/code]

这样一般就好了。

其实就是脚本找不到ruby解析器,所以要确认脚本能够找到解析器。

在环境变量里面加上ruby的路径?

还有一种可能是你在本机装的gem,需要在服务器上也装一下

或者有些插件找不到,也重装下

就算都是 Linux,不同机器上 Ruby 的路径可能也不一样。照 robbin 说的那样改,只要 ruby 所在路径存在于 $PATH 中即可正常工作。

其实我倾向于开发环境和生产环境都自己编译 Ruby 安装到 /usr/local 下面,这样 Rails 的 generator 生成的代码 [url=http://en.wikipedia.org/wiki/Shebang_(Unix)]shebang line[/url] 是 #!/usr/local/bin/ruby,直接避免了这个问题。