【问题标题】:error command webpack not found when I deploy with capistrano使用 capistrano 部署时找不到错误命令 webpack
【发布时间】:2019-07-03 23:52:20
【问题描述】:
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

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

警告 ../../package.json: 没有来自 Yarn 1.0 的许可证字段警告 此后,脚本不需要“--”来转发选项。在一个 在未来的版本中,任何显式的“--”都将按原样转发给 脚本。找不到错误命令“webpack”。耙标准错误:没有 写的

原因:SSHKit::Command::Failed:rake 退出状态:1 rake 标准输出: 已安装 Webpacker ???? ???使用 /home/deploy/JecAccess/releases/20190210065936/config/webpacker.yml 用于设置 webpack 路径的文件正在编译...编译失败:yarn 运行 v1.13.0 info 访问https://yarnpkg.com/en/docs/cli/run 获取 有关此命令的文档。

警告 ../../package.json: 没有来自 Yarn 1.0 的许可证字段警告 此后,脚本不需要“--”来转发选项。在一个 在未来的版本中,任何显式的“--”都将按原样转发给 脚本。找不到错误命令“webpack”。耙标准错误:没有 写的

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

警告 ../../package.json: 没有来自 Yarn 1.0 的许可证字段警告 此后,脚本不需要“--”来转发选项。在一个 在未来的版本中,任何显式的“--”都将按原样转发给 脚本。找不到错误命令“webpack”。耙标准错误:没有 写的

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

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

INFO [9d26f1fe] 运行 /usr/local/rvm/bin/rvm 默认做捆绑 安装 --path /home/deploy/JecAccess/shared/bundle --jobs 4 --without 开发测试 --deployment --quiet on 157.230.93.52

调试 [9d26f1fe] 命令:cd /home/deploy/JecAccess/releases/20190210065936 && /usr/local/rvm/bin/rvm 默认做 bundle install --path /home/deploy/JecAccess/shared/bundle --jobs 4 --无需开发 测试 --deployment --quiet

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

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

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

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

INFO [407a8274] 运行 /usr/local/rvm/bin/rvm 默认执行捆绑 exec rake assets:在 157.230.93.52 上预编译

调试 [407a8274] 命令:cd /home/deploy/JecAccess/releases/20190210065936 && ( 出口 RAILS_ENV="生产" RAILS_GROUPS="" ; /usr/local/rvm/bin/rvm 默认做 bundle exec rake assets:precompile )

调试 [6bf4baca] Webpacker 已安装 ???? ????

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

调试 [6bf4baca] 正在编译...

DEBUG [6bf4baca] 编译失败:

yarn run v1.13.0

信息 访问https://yarnpkg.com/en/docs/cli/run 获取有关文档 这个命令。

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

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

找不到错误命令“webpack”。

【问题讨论】:

  • 执行'yarn run webpack'

标签: ruby-on-rails node.js npm webpack capistrano3


【解决方案1】:

你需要把这个添加到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】:

    您需要在 assets:precompile 之前运行任务 yarn install。

    查看文档

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-01
      • 2023-03-31
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-16
      • 1970-01-01
      相关资源
      最近更新 更多