我按照网上的文章配置capistrano时,下面命令出现错误:
[code="java"][root@redhgg test_app]# cap --apply-to /var/rails_app/test_app
/usr/local/ruby/lib/ruby/1.8/optparse.rb:1381:in complete': invalid option: --apply-to (OptionParser::InvalidOption)
catch'
from /usr/local/ruby/lib/ruby/1.8/optparse.rb:1379:in
from /usr/local/ruby/lib/ruby/1.8/optparse.rb:1379:in complete'
order!'
from /usr/local/ruby/lib/ruby/1.8/optparse.rb:1212:in
from /usr/local/ruby/lib/ruby/1.8/optparse.rb:1205:in catch'
order!'
from /usr/local/ruby/lib/ruby/1.8/optparse.rb:1205:in
from /usr/local/ruby/lib/ruby/1.8/optparse.rb:1279:in permute!'
parse!'
from /usr/local/ruby/lib/ruby/1.8/optparse.rb:1300:in
from /usr/local/ruby/lib/ruby/gems/1.8/gems/capistrano-2.4.3/lib/capistrano/cli/options.rb:121:in parse_options!'
parse'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/capistrano-2.4.3/lib/capistrano/cli/options.rb:15:in
from /usr/local/ruby/lib/ruby/gems/1.8/gems/capistrano-2.4.3/lib/capistrano/cli/execute.rb:14:in execute'
load'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/capistrano-2.4.3/bin/cap:4
from /usr/local/ruby/bin/cap:19:in
from /usr/local/ruby/bin/cap:19[/code]
我用cap --help未看到有--apply-to这个参数,这是什么原因呢?
版本: Capistrano v2.4.3
[b]问题补充:[/b]
而且看上去你本来就在 test_app 目录里,为什么还要指定项目?
跟这个没关系吧? 你说的版本老不老的问题还有可能. 但这个目录指不指定应该问题,我这是使用的绝对路径,用相对路径肯定会是一样的问题.
[b]问题补充:[/b]
你好,如果说版本太老的话,那现在我把ruby升级到1.8.6
在1.8.5可以直接升级到1.8.6吗,不行的话,我只能下载源码安装. 谢谢
[b]问题补充:[/b]
是否有人能够帮助一下? cap --apply-to这个参数为何找不到哦?
请看清楚,我说的是你看的文章太老,不是什么版本太老。
http://toolmantim.com/article/2006/12/7/a_clean_slate_edge_rails_recipe
例如这篇 2006 年的文章里就有出现 cap 命令的 --apply-to 参数。我是从 2.0 开始使用 Capistrano 的,那个时候就已经没有这个参数了。
看过这篇文章后才知道,2.x 的 Capistrano 里跟那个 cap --apply-to 命令等效的应该是 capify 命令。到你的 Rails 项目的根目录里执行 capify 即可,会帮你生成 Capfile 和 config/deploy.rb 两个文件。然后你可以修改 config/deploy.rb 进行你需要的定制。
你看的文章应该太老了,当前版本的 cap 里没有这个参数。而且看上去你本来就在 test_app 目录里,为什么还要指定项目?