【发布时间】:2017-03-24 05:13:27
【问题描述】:
capistrano 和 Yarn 的问题
我尝试使用这个 capistrano 脚本将我的 webpackered rails 应用程序部署到 AWS,
namespace :webpacker do
task :install do
on roles(:web) do
within release_path do
execute "bin/yarn"
end
end
end
end
after 'bundler:install', 'webpacker:install'
但是我得到了以下日志并且部署失败了。
INFO [74b2160e] Running /usr/bin/env bin/yarn as webmaster@example.com
DEBUG [74b2160e] Command: cd /data/example/releases/20170324031517 && ( export PATH="/usr/local/bin:$PATH" RBENV_ROOT="/usr/local/rbenv" RBENV_VERSION="2.4.0" NODENV_ROOT="/usr/local/nodenv" NODENV_VERSION="7.0.0" ; /usr/bin/env bin/yarn )
DEBUG [74b2160e] Node version 0.10.48 is not supported, please use Node.js 4.0 or higher.
所以,我使用 ssh as webmaster 来通过 shell 命令确认 env 是正确的。
which node
/usr/local/nodenv/shims/node
node --version
v7.0.0
which yarn
/usr/bin/yarn
yarn --version
0.21.3
我假设环境变量不正确,但不知道环境变量为什么不正确。
你能教我如何解决这个问题吗?
Node version 0.10.48 is not supported, please use Node.js 4.0 or higher
添加
添加append :nodenv_map_bins, 'bin/yarn'后,出现另一个问题。
INFO [aab774c8] Running NODENV_ROOT=/usr/local/nodenv NODENV_VERSION=7.0.0 /usr/local/nodenv/bin/nodenv exec bin/yarn as webmaster@example.com
DEBUG [aab774c8] Command: cd /data/example/releases/20170324175015 && ( export PATH="/usr/local/bin:$PATH" RBENV_ROOT="/usr/local/rbenv" RBENV_VERSION="2.4.0" NODENV_ROOT="/usr/local/nodenv" NODENV_VERSION="7.0.0" RAILS_ENV="staging" ; NODENV_ROOT=/usr/local/nodenv NODENV_VERSION=7.0.0 /usr/local/nodenv/bin/nodenv exec bin/yarn )
DEBUG [aab774c8] nodenv: bin/yarn: command not found
【问题讨论】:
-
这个 Rake/Rails 命令说明了什么?
rake webpacker:yarn_install
标签: ruby-on-rails amazon-ec2 capistrano3 yarnpkg