无法用 capistrano 加载这样的文件 -- rspec/core/rake_task
cannot load such file -- rspec/core/rake_task with capistrano
我不是 ruby rails。当我启动时:
cap integration deploy
我收到一个错误:
INFO [90feb630] Running /usr/local/rvm/bin/rvm ruby-2.4.0@myproject_gemset do bundle exec rake assets:precompile as myproject@myproject-server.com
DEBUG [90feb630] Command: cd /home/myproject/myproject_rails/releases/20170703135523 && ( export RAILS_ENV="staging" RAILS_GROUPS="" ; /usr/local/rvm/bin/rvm ruby-2.4.0@myproject_gemset do bundle exec rake assets:precompile )
DEBUG [90feb630] rake aborted!
LoadError: cannot load such file -- rspec/core/rake_task
这是我用于部署的 capistrano 配置文件:
set :user, 'myproject'
server 'myproject-server.com',
user: fetch(:user),
roles: %w{web app db},
ssh_options: {forward_agent: true}
set :deploy_to, "/home/#{fetch(:user)}/#{fetch(:application)}"
set :rails_env, 'staging'
set :conditionally_migrate, true
set :keep_releases, 2
set :branch, 'master'
set :app_version, '0.1'
编辑
问题来自文件 /lib/tasks/integration.rake :
require 'rspec/core/rake_task'
namespace :integration do
desc 'integration test the JSON API endpoints'
RSpec::Core::RakeTask.new(:test) do |t|
# set the RAILS_ENV such that :integration tagged
# specs are run
ENV['RAILS_ENV'] = 'test'
# only run those files in the 'integration' directory
t.pattern = './spec/integration{,/*/**}/*_spec.rb'
end
end
gem 'rspec-core' where 只安装在开发/测试环境中。
所以它不见了。
放
gem 'rspec-core', '~> 3.4'
个
group :development, :test do
解决了我的问题
我需要做 gem install rspec-core
我不是 ruby rails。当我启动时:
cap integration deploy
我收到一个错误:
INFO [90feb630] Running /usr/local/rvm/bin/rvm ruby-2.4.0@myproject_gemset do bundle exec rake assets:precompile as myproject@myproject-server.com
DEBUG [90feb630] Command: cd /home/myproject/myproject_rails/releases/20170703135523 && ( export RAILS_ENV="staging" RAILS_GROUPS="" ; /usr/local/rvm/bin/rvm ruby-2.4.0@myproject_gemset do bundle exec rake assets:precompile )
DEBUG [90feb630] rake aborted!
LoadError: cannot load such file -- rspec/core/rake_task
这是我用于部署的 capistrano 配置文件:
set :user, 'myproject'
server 'myproject-server.com',
user: fetch(:user),
roles: %w{web app db},
ssh_options: {forward_agent: true}
set :deploy_to, "/home/#{fetch(:user)}/#{fetch(:application)}"
set :rails_env, 'staging'
set :conditionally_migrate, true
set :keep_releases, 2
set :branch, 'master'
set :app_version, '0.1'
编辑
问题来自文件 /lib/tasks/integration.rake :
require 'rspec/core/rake_task'
namespace :integration do
desc 'integration test the JSON API endpoints'
RSpec::Core::RakeTask.new(:test) do |t|
# set the RAILS_ENV such that :integration tagged
# specs are run
ENV['RAILS_ENV'] = 'test'
# only run those files in the 'integration' directory
t.pattern = './spec/integration{,/*/**}/*_spec.rb'
end
end
gem 'rspec-core' where 只安装在开发/测试环境中。
所以它不见了。
放
gem 'rspec-core', '~> 3.4'
个
group :development, :test do
解决了我的问题
我需要做 gem install rspec-core