当我使用Capistrano部署时,出现错误命令webpack未找到。

7
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

(回溯限制为导入的任务)cap中止! 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:没有许可证字段从Yarn 1.0开始,脚本不需要“-”来转发选项。在将来的版本中,任何明确的“--”都将按原样转发给脚本。 错误命令“webpack”未找到。rake stderr:未写入 由于SSHKit :: Command :: Failed:rake退出状态:1 rake stdout:已安装Webpacker 使用/home/deploy/JecAccess/releases/20190210065936/config/webpacker.yml文件设置webpack路径 Compiling… Compilation failed: yarn run v1.13.0 访问https://yarnpkg.com/en/docs/cli/run以获取有关此命令的文档。警告../../package.json:没有许可证字段从Yarn 1.0开始,脚本不需要“-”来转发选项。在将来的版本中,任何明确的“--”都将按原样转发给脚本。错误命令“webpack”未找到。rake stderr:未写入 任务:TOP => deploy:assets:precompile(运行任务并使用--trace查看完整的跟踪)部署失败,出现错误:在主机157.230.93.52上执行时出现异常:rake退出状态:1 rake stdout:已安装Webpacker 使用/home/deploy/JecAccess/releases/20190210065936/config/webpacker.yml文件设置webpack路径 Compiling… Compilation failed: yarn run v1.13.0 访问https://yarnpkg.com/en/docs/cli/run以获取有关此命令的文档。警告../../package.json:没有许可证字段从Yarn 1.0开始,脚本不需要“-”来转发选项。在将来的版本中,任何明确的“--”都将按原样转发给脚本。错误命令“webpack”未找到。rake stderr:未写入 **部署失败** 请参阅log/capistrano.log了解详细信息。以下是最后的20行: DEBUG [5607bacb]以失败状态1完成,用时2.268秒。 INFO [9d26f1fe] 在主机157.230.93.52上运行/usr/local/rvm/bin/rvm默认do bundle install --path /home/deploy/JecAccess/shared/bundle --jobs 4 --without development test --deployment --quiet。 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 --without development test --deployment --quiet INFO [2c0ee907]以成功状态0完成,用时2.707秒。 DEBUG [99f77c18]在主机157.230.93.52上运行if test!-d /home/deploy/JecAccess/releases/20190210065936; then echo“Directory does not exist '/home/deploy/JecAccess/releases/20190210065936'”1>&2; false; fi。 DEBUG [99f77c18]命令:如果测试!-d /home/deploy/JecAccess/releases/20190210065936; then echo“Directory does not exist '/home/deploy/JecAccess/releases/20190210065936'”1>&2; false; fi DEBUG [50cd673a]以成功状态0完成,用时2.866秒。 INFO [407a8274] 在主机157.230.93.52上运行/usr/local/rvm/bin/rvm默认do bundle exec rake assets:pre

执行 'yarn run webpack'。 - Saiqul Haq
2个回答

19

您需要将以下内容添加到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

https://github.com/rails/webpacker/blob/master/docs/deployment.md获取了此代码


-2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接