Ruby on rails SSH+;Rails:在一行中使用ssh会话运行Rails(和Capistrano)命令
我想知道是否有一种方法可以像Ruby on rails SSH+;Rails:在一行中使用ssh会话运行Rails(和Capistrano)命令,ruby-on-rails,bash,ssh,capistrano,Ruby On Rails,Bash,Ssh,Capistrano,我想知道是否有一种方法可以像 ssh user@host "cap production rails:console" 其中,host是我的Rails开发环境,然后可以使用远程控制台 当我尝试该命令时,它显示:bash:cap:command-notfound 然后我试着跑 ssh user@host "bundle exec cap production rails:console" 但它显示未找到bash:bundle:command 请注意,我使用的是rvm 我的.bashrc(摘录)
ssh user@host "cap production rails:console"
其中,host
是我的Rails开发环境,然后可以使用远程控制台
当我尝试该命令时,它显示:bash:cap:command-notfound
然后我试着跑
ssh user@host "bundle exec cap production rails:console"
但它显示未找到bash:bundle:command
请注意,我使用的是rvm
我的.bashrc
(摘录):
您是否尝试使用完整路径来限制:
ssh user@host "/Users/anton/.rvm/gems/ruby-2.3.1@gotoweb/bin/cap production rails:console"
?您是否尝试使用完整路径来限制:
ssh user@host "/Users/anton/.rvm/gems/ruby-2.3.1@gotoweb/bin/cap production rails:console"
?当我登录时,默认路径是应用程序路径,因此是。即使手动添加应用程序路径,其结果也是对cap使用绝对路径。更新了我的答案。现在的错误是:
/usr/bin/env:'ruby\u executable\u hooks':没有这样的文件或目录
,看起来它也与路径相关。据我所知,ssh没有正确加载路径变量。我看到了一些关于生成垃圾桶的解决方案。试试看rvm@global do gem regenerate\u binstubs;gem regenate_binstubs
。当我登录时,默认路径是应用程序路径,所以是。即使手动添加应用程序路径,其结果也是对cap使用绝对路径。更新了我的答案。现在的错误是:/usr/bin/env:'ruby\u executable\u hooks':没有这样的文件或目录
,看起来它也与路径相关。据我所知,ssh没有正确加载路径变量。我看到了一些关于生成垃圾桶的解决方案。试试看rvm@global do gem regenerate\u binstubs;gem重新生成容器
。