Rails,ember-cli-rails gem

时间:2015-05-12 03:53:48

标签: ruby-on-rails-4 ember-cli

我尝试通过Rails & Ember-cliVPS个应用程序部署到Capistrano。我已使用Ember-cli gem将Rails集成到ember-cli-rails中。问题发生在Capistrano想要assets:precompile时。抛出EmberCLI Rails requires your Ember app to have an addon.之类的错误在这种情况下,我可以在本地计算机和assets:precompile目录中的服务器上运行released而没有任何问题。在服务器上我安装了`Nodejs和NPM。

deploy.rb

lock '3.1.0'
set :application, 'APPLICATION NAME'
set :repo_url, 'GIT ADDRESS'
set :deploy_to, 'SERVER SIDE ADDRESS'
set :linked_files, %w{config/database.yml}
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}
namespace :deploy do
 desc 'Restart application'
  task :restart do
  on roles(:app), in: :sequence, wait: 5 do      
 end
end
 after :publishing, 'deploy:restart'
 after :finishing, 'deploy:cleanup'
 after :restart, :clear_cache do
on roles(:web), in: :groups, limit: 3, wait: 10 do
  end
end
end

Capfile

require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/bundler'
require 'capistrano/rails'
require 'capistrano/rvm'
set :rvm_type, :user
set :rvm_ruby_version, '2.2.0'
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r }

相关宝石

gem 'rails', '4.2.0'
gem 'capistrano', '~> 3.1.0'
gem 'capistrano-bundler', '~> 1.1.2'
gem 'capistrano-rails', '~> 1.1.1'
gem 'capistrano-rvm', github: "capistrano/rvm"

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

我刚刚通过向deploy.rb文件添加一些任务来解决此问题。

答案 1 :(得分:0)

desc "Build Ember addon"
  task :build_ember_addon do
   on roles(:app) do
  execute "cd #{release_path}/frontend  && /home/$USER/.nvm/versions/node/v0.12.2/bin/npm install --save-dev ember-cli-rails-addon@0.0.11"
end
end

desc "Intall npm"
 task :npm_install do
  on roles(:app) do
  execute "cd #{release_path}/frontend && /home/$USER/.nvm/versions/node/v0.12.2/bin/npm install"
end
end

desc "bower install"
 task :bower_install do
  on roles(:app) do
  execute "cd #{release_path}/frontend && /home/$USER/.nvm/versions/node/v0.12.2/bin/bower install --config.interactive=false"
end
end

before 'deploy:updated', 'deploy:build_ember_addon'
before 'deploy:updated', 'deploy:npm_install'
before 'deploy:updated', 'deploy:bower_install'