标签: gemspecs

Ruby Gemspec依赖:可能有git分支依赖吗?

可能有一个git分支依赖,在mygem.gemspec里面?

我在想类似以下内容:

gem.add_runtime_dependency 'oauth2', :git => 'git@github.com:lgs/oauth2.git'
Run Code Online (Sandbox Code Playgroud)

......但它不起作用.

ruby dependencies rubygems bundler gemspecs

77
推荐指数
3
解决办法
4万
查看次数

如何在.gemspec文件中将本地gem的依赖项添加到rails插件/引擎

我试过这样的方式:

 s.add_dependency 'gem', :path => '../gem'
Run Code Online (Sandbox Code Playgroud)

喜欢添加gem gemfile,但它不起作用,并会导致此错误:

/Users/chenqh/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb:81:in `parse': Illformed requirement 
Run Code Online (Sandbox Code Playgroud)

plugins dependencies ruby-on-rails rails-engines gemspecs

24
推荐指数
3
解决办法
2万
查看次数

试图构建一个gem,得到一个Gem :: InvalidSpecificationException:"[...]不是文件"

我正在尝试构建一个我写过的自定义gem,client_package但它失败了.

我的目录结构如下所示:

client_package
    Gemfile
    Gemfile.lock
    client_package.gemspec
    Rakefile
    Readme.md
    .gitignore
    .git
        ...git files...
    lib
        client_package.rb
        client_package
            version.rb
            api.rb
            ...more...
Run Code Online (Sandbox Code Playgroud)

client_package.gemspec看起来像这样:

# encoding: UTF-8
require File.expand_path('../lib/client_package/version', __FILE__)

Gem::Specification.new do |s|
    s.name = 'client_package'
    s.version = ClientPackage::VERSION
    s.platform = Gem::Platform::RUBY

    s.files = `git ls-files`.split('\n')
    s.executables = `git ls-files -- bin/*`.split('\n').map{ |f| File.basename(f) }
    s.require_paths = ['lib']

    # also have s.authors, s.email, s.homepage, s.summary, s.description

    s.add_dependency 'httparty'
    s.add_dependency 'json'
end
Run Code Online (Sandbox Code Playgroud)

并且我的所有文件都已提交,并且git状态是干净的.

从顶层client_package目录中,我运行gem build client_package.gemspec并得到此错误:

ERROR:  While …
Run Code Online (Sandbox Code Playgroud)

ruby gem rubygems gemspecs

21
推荐指数
2
解决办法
9490
查看次数

无效的gemspec -Illformed要求["#<YAML :: Syck :: DefaultKey:0xb5f9c990> 3.2.0"]

Invalid gemspec in [/usr/lib/ruby/gems/1.8/specifications/activemodel-3.2.0.gemspec]: Illformed requirement ["#<YAML::Syck::DefaultKey:0xb5f9c990> 3.2.0"]
Run Code Online (Sandbox Code Playgroud)

从尝试为其他问题做sudo gem更新

获得这个数百次的时间,因为sudo gem update会遍历每个gem并获取大部分内容的消息

ruby gem rspec ruby-on-rails gemspecs

19
推荐指数
2
解决办法
8309
查看次数

在Gemfile中从github指定一个插件作为gem

我在我的Gemfile中包含'acts_as_rateable'gem就像这样

gem 'acts_as_rateable', :git => 'git://github.com/azabaj/acts_as_rateable.git'
Run Code Online (Sandbox Code Playgroud)

然后当我这样做bundle install时给我这个错误信息!

无法在git://github.com/azabaj/acts_as_rateable.git(在master中)找到gem'meject_as_rateable(> = 0,runtime)'.Source不包含任何版本的'acts_as_rateable(> = 0,runtime)'

我正在开发一个自己的插件,当我包含它时,即使这样也会产生同样的错误.

我认为这与gemspec有关?

请帮忙

Rails版本:3.0.1 Rubygems版本:1.3.7 Bundler版本:1.0.3

如果您需要任何其他细节,请告诉我..

rubygems ruby-on-rails bundler gemspecs ruby-on-rails-3

17
推荐指数
2
解决办法
1万
查看次数

如何从gemspec文件中获取版本?

有没有一种从.gemspec文件中提取版本字符串的简洁方法?(宝石尚未安装)

例如somethingcool.gemspec是

Gem::Specification.new do |s|
  s.name = "somethingcool"
  s.version = "1.2.3"
  ... etc ...
end
Run Code Online (Sandbox Code Playgroud)

我想提取"1.2.3".

我可以把它弄出来,但必须有更好的方法.

ruby gemspecs

16
推荐指数
1
解决办法
2268
查看次数

$ :. push在ruby中做什么?

我在测量师宝石的 Gemspec文件中找到了这个.以下几行有什么作用?

$:.push File.expand_path("../lib", __FILE__)
require "surveyor/version"
Run Code Online (Sandbox Code Playgroud)

为什么这样$:.push做?对我而言,它看起来就像requires../lib/surveyor/version文件.如果是这样,我不能只用一行替换它吗?

require File.expand_path('../lib/surveyor/version', __FILE__)
Run Code Online (Sandbox Code Playgroud)

两者都是一样的吗?如果没有,那又有什么区别?

ruby rubygems gemspecs

16
推荐指数
1
解决办法
2754
查看次数

Gemspec:如何指定不必自动要求的依赖项?

我写了一个带有一定数量依赖关系的gem,其中一些我不想在捆绑到另一个项目时隐式需要.一个例子是uuidtools gem,我只想在使用它的文件中要求它.

gem.add_dependency("uuidtools",["=2.1.3"], :require => false)
Run Code Online (Sandbox Code Playgroud)

这种语法是错误的,因为:require => false在那里是意外的,但这或多或少总结了我想用它做什么.有人可以帮我吗?

gem ruby-on-rails gemspecs

16
推荐指数
1
解决办法
4181
查看次数

在 85 个 gem 中找不到“ffi”(&gt;= 1.3.0)(Gem::MissingSpecError)在 pod 安装上反应本机 IOS

你好,我正在尝试在 mac mini 上运行我的 React Native 应用程序。我可以运行另一个应用程序也可以运行这个应用程序,但是当我pod install在终端中写入时,它会出现此错误。

1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1449:in `block in activate_dependencies'

    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/dependency.rb:311:in `to_specs': Could not find 'ffi' (>= 1.3.0) among 85 total gem(s) (Gem::MissingSpecError)
    Checked in 

'GEM_PATH=/Users/xx/.gem/ruby/2.6.0:/Library/Ruby/Gems/2.6.0:/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0', execute `gem env` for more information
Run Code Online (Sandbox Code Playgroud)

我尝试了很多类似的代码

sudo gem pristine --all,  gem pristine --all

sudo gem install -n /usr/local/bin cocoapods -v 1.8.4

delete and ini pod init/ which gave error
brew reinstall cocoapods
\curl -sSL https://get.rvm.io | bash -s stable --ruby
Run Code Online (Sandbox Code Playgroud)

rubygems gemspecs react-native react-native-ios

13
推荐指数
3
解决办法
3万
查看次数

gemspec文件中的`files`,`executables`,`test_files`和`require_paths`是什么?

我不清楚.gemspec文件中的某些规范是做什么的.特别,

spec.files         = `git ls-files -z`.split("\x0")
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"]
Run Code Online (Sandbox Code Playgroud)

有人可以解释这些与Ruby Gem的功能有何关系以及为什么它们是必要的?

ruby gem rubygems gemspecs

12
推荐指数
1
解决办法
2719
查看次数