使用 capistrano 部署时找不到错误命令 webpack

Jea*_*nux 5 ruby-on-rails node.js npm capistrano3 webpack

ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]
00:00 git:wrapper
  01 mkdir -p /tmp
? 01 root@157.230.93.52 2.312s
  Uploading /tmp/git-ssh-jec_access-production-jeanlinux.sh 100.0%
  02 chmod 700 /tmp/git-ssh-jec_access-production-jeanlinux.sh
? 02 root@157.230.93.52 1.210s
00:08 git:check
  01 git ls-remote git@bitbucket.com:jeanlinux/jecaccess.git HEAD
  01 02704634ef3fea8fb4ef983aa8a71b184f55f2cd       HEAD
? 01 root@157.230.93.52 4.701s
00:13 deploy:check:directories
  01 mkdir -p /home/deploy/JecAccess/shared /home/deploy/JecAccess/releases
? 01 root@157.230.93.52 0.721s
00:13 deploy:check:linked_dirs
  01 mkdir -p /home/deploy/JecAccess/shared/log /home/deploy/JecAccess/shared/tmp/pids /home/deploy/JecAccess/shared/tmp/cache /home/deploy/JecAccess/shared/tmp/sockets /home/deploy/JecAcce…
? 01 root@157.230.93.52 2.250s
00:16 deploy:check:make_linked_dirs
  01 mkdir -p /home/deploy/JecAccess/shared/config
? 01 root@157.230.93.52 1.022s
00:22 git:clone
  The repository mirror is at /home/deploy/JecAccess/repo
00:24 git:update
  01 git remote set-url origin git@bitbucket.com:jeanlinux/jecaccess.git
? 01 root@157.230.93.52 1.063s
  02 git remote update --prune
  02 Fetching origin
? 02 root@157.230.93.52 3.030s
00:30 git:create_release
  01 mkdir -p /home/deploy/JecAccess/releases/20190210065936
? 01 root@157.230.93.52 0.920s
  02 git archive master | /usr/bin/env tar -x -f - -C /home/deploy/JecAccess/releases/20190210065936
? 02 root@157.230.93.52 1.636s
00:36 deploy:set_current_revision
  01 echo "02704634ef3fea8fb4ef983aa8a71b184f55f2cd" > REVISION
? 01 root@157.230.93.52 2.451s
00:38 deploy:symlink:linked_files
  01 mkdir -p /home/deploy/JecAccess/releases/20190210065936/config
? 01 root@157.230.93.52 1.233s
  02 rm /home/deploy/JecAccess/releases/20190210065936/config/database.yml
? 02 root@157.230.93.52 2.587s
  03 ln -s /home/deploy/JecAccess/shared/config/database.yml /home/deploy/JecAccess/releases/20190210065936/config/database.yml
? 03 root@157.230.93.52 0.893s
  04 rm /home/deploy/JecAccess/releases/20190210065936/config/secrets.yml
? 04 root@157.230.93.52 1.192s
  05 ln -s /home/deploy/JecAccess/shared/config/secrets.yml /home/deploy/JecAccess/releases/20190210065936/config/secrets.yml
? 05 root@157.230.93.52 4.403s
00:56 deploy:symlink:linked_dirs
  01 mkdir -p /home/deploy/JecAccess/releases/20190210065936 /home/deploy/JecAccess/releases/20190210065936/tmp /home/deploy/JecAccess/releases/20190210065936/public
? 01 root@157.230.93.52 1.101s
  02 rm -rf /home/deploy/JecAccess/releases/20190210065936/log
? 02 root@157.230.93.52 0.852s
  03 ln -s /home/deploy/JecAccess/shared/log /home/deploy/JecAccess/releases/20190210065936/log
? 03 root@157.230.93.52 1.158s
  04 ln -s /home/deploy/JecAccess/shared/tmp/pids /home/deploy/JecAccess/releases/20190210065936/tmp/pids
? 04 root@157.230.93.52 3.071s
  05 ln -s /home/deploy/JecAccess/shared/tmp/cache /home/deploy/JecAccess/releases/20190210065936/tmp/cache
? 05 root@157.230.93.52 0.942s
  06 ln -s /home/deploy/JecAccess/shared/tmp/sockets /home/deploy/JecAccess/releases/20190210065936/tmp/sockets
? 06 root@157.230.93.52 0.727s
  07 ln -s /home/deploy/JecAccess/shared/public/system /home/deploy/JecAccess/releases/20190210065936/public/system
? 07 root@157.230.93.52 1.159s
  08 ln -s /home/deploy/JecAccess/shared/public/assets /home/deploy/JecAccess/releases/20190210065936/public/assets
? 08 root@157.230.93.52 1.433s
01:27 bundler:install
  01 /usr/local/rvm/bin/rvm default do bundle install --path /home/deploy/JecAccess/shared/bundle --jobs 4 --without development test --deployment --quiet
? 01 root@157.230.93.52 2.707s
01:33 deploy:assets:precompile
  01 /usr/local/rvm/bin/rvm default do bundle exec rake assets:precompile
  01 Webpacker is installed  
  01 Using /home/deploy/JecAccess/releases/20190210065936/config/webpacker.yml file for setting up webpack paths
  01 Compiling…
  01 Compilation failed:
  01 yarn run v1.13.0
  01 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
  01
  01 warning ../../package.json: No license field
  01 warning From Yarn 1.0 onwards, scripts don't require "--" for options to be forwarded. In a future version, any explicit "--" will be forwarded as-is to the scripts.
  01 error Command "webpack" not found.
  01
Run Code Online (Sandbox Code Playgroud)

(回溯仅限于导入任务)上限中止!SSHKit::Runner::ExecuteError:在主机 157.230.93.52 上执行时出现异常:rake 退出状态:1 rake stdout:Webpacker 已安装使用 /home/deploy/JecAccess/releases/20190210065936/config/webpacker.yml 文件设置 webpack路径编译...编译失败:yarn run v1.13.0 info 访问https://yarnpkg.com/en/docs/cli/run获取有关此命令的文档。

警告 ../../package.json: No license field warning 从 Yarn 1.0 开始,脚本不需要“--”来转发选项。在未来的版本中,任何显式的“--”都将按原样转发给脚本。错误命令“webpack”未找到。耙标准错误:没有写

引起:SSHKit::Command::Failed: rake exit status: 1 rake stdout: Webpacker is installed Using /home/deploy/JecAccess/releases/20190210065936/config/webpacker.yml file for setting up webpack paths 编译…编译失败: yarn run v1.13.0 信息访问https://yarnpkg.com/en/docs/cli/run获取有关此命令的文档。

警告 ../../package.json: No license field warning 从 Yarn 1.0 开始,脚本不需要“--”来转发选项。在未来的版本中,任何显式的“--”都将按原样转发给脚本。错误命令“webpack”未找到。耙标准错误:没有写

任务:TOP => deploy:assets:precompile(通过使用 --trace 运行任务查看完整跟踪)部署失败并出现错误:在主机 157.230.93.52 上执行时出现异常:rake 退出状态:1 rake 标准输出:Webpacker 已安装使用 /home/deploy/JecAccess/releases/20190210065936/config/webpacker.yml 文件设置 webpack 路径 编译...编译失败:yarn run v1.13.0 info 访问https://yarnpkg.com/en/docs/cli/run有关此命令的文档。

警告 ../../package.json: No license field warning 从 Yarn 1.0 开始,脚本不需要“--”来转发选项。在未来的版本中,任何显式的“--”都将按原样转发给脚本。错误命令“webpack”未找到。耙标准错误:没有写

** 部署失败 ** 有关详细信息,请参阅 log/capistrano.log。下面是最后 20 行:

调试 [5607bacb] 在 2.268 秒内完成,退出状态为 1(失败)。

信息 [9d26f1fe] 运行 /usr/local/rvm/bin/rvm 默认执行 bundle install --path /home/deploy/JecAccess/shared/bundle --jobs 4 --without development test --deployment --quiet on 157.230。 93.52

DEBUG [9d26f1fe] 命令:cd /home/deploy/JecAccess/releases/20190210065936 && /usr/local/rvm/bin/rvm default do bundle install --path /home/deploy/JecAccess/shared/bundle --jobs 4 - - 没有开发测试 --deployment --quiet

信息 [2c0ee907] 在 2.707 秒内完成,退出状态为 0(成功)。

调试 [99f77c18] 如果测试运行!-d /home/deploy/JecAccess/releases/20190210065936; 然后回声“目录不存在'/home/deploy/JecAccess/releases/20190210065936'” 1>&2; 错误的; fi on 157.230.93.52

调试 [99f77c18] 命令:如果测试!-d /home/deploy/JecAccess/releases/20190210065936; 然后回声“目录不存在'/home/deploy/JecAccess/releases/20190210065936'” 1>&2; 错误的; 菲

DEBUG [50cd673a] 在 2.866 秒内完成,退出状态为 0(成功)。

信息 [407a8274] 运行 /usr/local/rvm/bin/rvm 默认做 bundle exec rake assets:precompile on 157.230.93.52

DEBUG [407a8274] 命令:cd /home/deploy/JecAccess/releases/20190210065936 && ( export RAILS_ENV="production" RAILS_GROUPS="" ; /usr/local/rvm/bin/rvm default do bundle exec rake assets:precompile )

DEBUG [6bf4baca] Webpacker 已安装

使用 /home/deploy/JecAccess/releases/20190210065936/config/webpacker.yml 文件设置 webpack 路径

调试 [6bf4baca] 编译…

DEBUG [6bf4baca] 编译失败:

纱线运行 v1.13.0

info 访问https://yarnpkg.com/en/docs/cli/run获取有关此命令的文档。

警告 ../../package.json: 没有许可证字段

警告 从 Yarn 1.0 开始,脚本不需要“--”来转发选项。在未来的版本中,任何显式的“--”都将按原样转发给脚本。

错误命令“webpack”未找到。

And*_*ter 5

您需要将此添加到的底部config/deploy.rb

before "deploy:assets:precompile", "deploy:yarn_install"
namespace :deploy do
  desc "Run rake yarn install"
  task :yarn_install do
    on roles(:web) do
      within release_path do
        execute("cd #{release_path} && yarn install --silent --no-progress --no-audit --no-optional")
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

https://github.com/rails/webpacker/blob/master/docs/deployment.md得到这个代码


小智 -2

您需要在资产:预编译之前运行任务yarn install。

查看文档

https://github.com/rails/webpacker/blob/master/docs/deployment.md