【问题标题】:zsh:1: command not found: rakezsh:1:找不到命令:rake
【发布时间】:2016-04-27 18:09:10
【问题描述】:

我尝试在 Capistrano 的部署中执行 rake,但我发现执行时出现问题,因为 ZSH

zsh:1: command not found: rake

所以我从我的机器上删除了ZSH,但同样的问题仍然存在。

config/deploy.rb

desc 'My task'
task :my_task do
  on roles(:app) do
    execute 'rake my:task'
  end
end

日志:

00:00 deploy:my_task
      01 rake my:task
      01 zsh:1: command not found: rake
      01
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host example.com: rake my:task exit status: 127
rake my:task stdout: zsh:1: command not found: rake
rake my:task stderr: Nothing written
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/runners/parallel.rb:15:in `rescue in block (2 levels) in execute'
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/runners/parallel.rb:11:in `block (2 levels) in execute'
SSHKit::Command::Failed: rake my:task exit status: 127
rake my:task stdout: zsh:1: command not found: rake
rake my:task stderr: Nothing written
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/command.rb:100:in `exit_status='
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/backends/netssh.rb:136:in `execute_command'
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/backends/abstract.rb:137:in `block in create_command_and_execute'
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/backends/abstract.rb:137:in `tap'
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/backends/abstract.rb:137:in `create_command_and_execute'
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/backends/abstract.rb:69:in `execute'
config/deploy.rb:92:in `block (3 levels) in <top (required)>'
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/backends/abstract.rb:29:in `instance_exec'
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/backends/abstract.rb:29:in `run'
/Users/monteirobrena/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/gems/2.0.0/gems/sshkit-1.10.0/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Tasks: TOP => deploy:upload_assets

【问题讨论】:

  • 考虑使用Rake::Task["my:task"].execute 而不是rake my:task
  • 我的任务不是部署任务。这是 rake 文件中的一项简单任务。

标签: ruby-on-rails rake zsh capistrano3


【解决方案1】:

这与zsh无关;相反,似乎在环境的路径中找不到 rake。三个选项:

  1. 您没有安装 rake。 (只需安装它:gem install rake)
  2. 您已安装它,但它不在 $PATH 中。 (添加到路径:export PATH=$PATH:/usr/local/bin/:)
  3. 您已将它安装在 $PATH 中,但没有执行它的权限。 (chomd +x 耙子)

【讨论】:

  • Rake 安装正确。我可以在终端中运行它,但是当我与 Capistrano 一起使用时,我收到了这个错误。无论如何,我删除了我的 ZSH,并在部署时不使用 Rake 修复了这个问题。谢谢。
猜你喜欢
  • 2019-11-25
  • 1970-01-01
  • 2016-07-30
  • 2015-07-01
  • 2017-08-09
  • 2016-04-12
  • 2016-06-26
  • 2021-12-15
相关资源
最近更新 更多