可能有一个git分支依赖,在mygem.gemspec里面?
我在想类似以下内容:
gem.add_runtime_dependency 'oauth2', :git => 'git@github.com:lgs/oauth2.git'
Run Code Online (Sandbox Code Playgroud)
......但它不起作用.
我试过这样的方式:
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) 我正在尝试构建一个我写过的自定义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) 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并获取大部分内容的消息
我在我的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
如果您需要任何其他细节,请告诉我..
有没有一种从.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".
我可以把它弄出来,但必须有更好的方法.
我在测量师宝石的 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)
两者都是一样的吗?如果没有,那又有什么区别?
我写了一个带有一定数量依赖关系的gem,其中一些我不想在捆绑到另一个项目时隐式需要.一个例子是uuidtools gem,我只想在使用它的文件中要求它.
gem.add_dependency("uuidtools",["=2.1.3"], :require => false)
Run Code Online (Sandbox Code Playgroud)
这种语法是错误的,因为:require => false在那里是意外的,但这或多或少总结了我想用它做什么.有人可以帮我吗?
你好,我正在尝试在 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) 我不清楚.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的功能有何关系以及为什么它们是必要的?
gemspecs ×10
ruby ×6
rubygems ×6
gem ×4
bundler ×2
dependencies ×2
plugins ×1
react-native ×1
rspec ×1