首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gemspec失败

Gemspec失败
EN

Stack Overflow用户
提问于 2013-07-04 04:07:23
回答 2查看 1.1K关注 0票数 5

我正在为我的毕业期末设计开发一个宝石,而Travis CI build却不断失败。

这是我在Travis上的链接:https://travis-ci.org/ricardobond/perpetuus/builds/8709218

构建过程中的错误是:

代码语言:javascript
运行
复制
$ bundle exec rake
rake aborted!
Don't know how to build task 'default'
/home/travis/.rvm/gems/ruby-1.9.3-p448/bin/ruby_noexec_wrapper:14:in `eval'
/home/travis/.rvm/gems/ruby-1.9.3-p448/bin/ruby_noexec_wrapper:14:in `<main>'
(See full trace by running task with --trace)
The command "bundle exec rake" exited with 1.
Done. Your build exited with 1.

下面是我的perpetuus.gemspec

代码语言:javascript
运行
复制
# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'perpetuus/version'

Gem::Specification.new do |spec|
  spec.name          = "perpetuus"
  spec.version       = Perpetuus::VERSION
  spec.authors       = ["Ricardo Caldeira"]
  spec.email         = ["ricardo.nezz@gmail.com"]
  spec.description   = %q{A continuous deploy GEM}
  spec.summary       = %q{Built on top of Ruby on Rails}
  spec.homepage      = ""
  spec.license       = "MIT"

  spec.files         = `git ls-files`.split($/)
  spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
  spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
  spec.require_paths = ["lib"]

  spec.add_development_dependency "bundler", "~> 1.3"
  spec.add_development_dependency "rake"
end

这是我的Gemfile:

代码语言:javascript
运行
复制
source 'https://rubygems.org'

# Specify your gem's dependencies in perpetuus.gemspec
gemspec

group :development, :test do
  gem "rspec", "~> 2.13"
end

有什么建议吗?

我在Mac OS和RVM 1.19.1上使用Ruby 2.0.0

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-04 04:36:19

您的Rakefile中没有配置默认任务。如果你想让Travis运行你的测试套件,你可能应该在你的Rakefile中添加类似这样的东西:

代码语言:javascript
运行
复制
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)
task :default => :spec

您可以通过在项目目录中运行rake在本地测试此配置。

票数 7
EN

Stack Overflow用户

发布于 2013-07-04 04:36:11

您的Rakefile中缺少默认任务

假设你通常运行

代码语言:javascript
运行
复制
rake test

要运行您的规范,只需在文件末尾添加以下内容:

代码语言:javascript
运行
复制
task :default => [:test]

从理论上讲,除了rake之外,您还可以编辑.travis.yml,并让它运行其他东西

代码语言:javascript
运行
复制
script: "bundle exec rake spec:travis"

。。。但是添加一个默认的Rake任务会更容易。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17457208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档