Capistrano 3无用的错误信息

时间:2015-04-02 05:01:31

标签: npm capistrano sshkit

我正在尝试通过capistrano任务运行时弄清楚此命令有什么问题。如果我直接在服务器上运行它,它运行正常:

desc 'Run npm install on remote server'
  task :npm_install do
    on roles(:app) do
      puts '**** NPM INSTALL ****'
      execute "cd /var/www/#{fetch(:application)}/current/hapi && NODE_ENV=#{fetch(:env)} npm install"
    end
  end

错误没有多大帮助

$ cap prod deploy:npm_install
**** NPM INSTALL ****
INFO [23ed2aa2] Running /usr/bin/env cd /var/www/myapp/current/hapi && NODE_ENV=prod npm install as myuser@123.456.789.101
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as myuser@123.456.789.101: cd /var/www/myapp/current/hapi && NODE_ENV=prod npm install exit status: 1
cd /var/www/myapp/current/hapi && NODE_ENV=prod npm install stdout: Nothing written
cd /var/www/myapp/current/hapi && NODE_ENV=prod npm install stderr: Nothing written

SSHKit::Command::Failed: cd /var/www/myapp/current/hapi && NODE_ENV=prod npm install exit status: 1
cd /var/www/myapp/current/hapi && NODE_ENV=prod npm install stdout: Nothing written
cd /var/www/myapp/current/hapi && NODE_ENV=prod npm install stderr: Nothing written

Tasks: TOP => deploy:npm_install
(See full trace by running task with --trace)

有没有办法打开有用的错误消息或通过capistrano运行的远程任务?

1 个答案:

答案 0 :(得分:2)

blog post或此SO answer应该可以帮助您增加调试次数。

这个FAQ应该可以帮助您理解为什么Capistrano的行为与正常的SSH会话不同。