我知道Rake任务可以在Rubygem中的许多地方定义:在Rakefile中在tasks/*.rake中在lib/tasks/*.rake中我读到前两个应该在gem本身上执行任务时使用。当任务需要公开时,似乎应该选择第三个选项。有许多在线教程演示了使用Rails从gem加载Rake任务的各种方法,即利用Rails::RailTie。但是,我想找到一种在不需要Rails的情况下在另一个gem中使用依赖项gem的任务的方法。有没有简单的解决方法?是否有人愿意描述正确的方法,或概述哪些方法可行?更新我已经尝试创建一个文件bin/my-gem以便在系统上可以从my-gem执行Rake任务。我已
一般情况下,在项目中使用bundler,特别是在Rails中,您只能访问Gemfile中定义的gem。虽然这是有道理的,但它可能是有限的。大多数情况下,当我想使用团队其他成员不使用的特定RSpec格式化程序时,我发现它有限制。除非它在Gemfile中,否则无法访问。有什么办法解决它还是我必须将它添加到Gemfile?更新:我的问题不是Bundler,而是Spork。在没有Spork的情况下运行RSpec时,我可以毫无问题地使用任何我想要的格式化程序。更新#2:看起来使用Bundler仍然是问题的原因。使用Spork和不使用Spork的区别在于,在不使用Spork的情况下运行RSpe
我在SO上发现了一些类似的问题,但似乎没有一个符合我的情况(抱歉,如果我忽略了)。这是我的问题:我将oauth-plugingem安装到rubygems目录,但是尝试在rails应用程序中使用它告诉我找不到它。以下是相关命令的输出:安装%sgeminstalloauth-pluginSuccessfullyinstalledoauth-plugin-0.3.141geminstalledInstallingridocumentationforoauth-plugin-0.3.14...InstallingRDocdocumentationforoauth-plugin-0.3.14
这是因为gem命令使用的Gem安装目录,在使用gemenv时看到,被设置为如下内容:/lib/ruby/gems/1.9.1我的问题是为什么?文件夹不应该叫:/lib/ruby/gems/1.9.x或/lib/ruby/gems/1.9否则每个Ruby版本都不能有一个,例如:c:/ruby191/lib/ruby/gems/1.9.1c:/ruby192/lib/ruby/gems/1.9.2c:/ruby193/lib/ruby/gems/1.9.3我知道这不是关键问题,我只是想知道。 最佳答案 在Ruby1.9.0中,C接口(i
目前Rubygems.org已关闭-网站报告错误,一些gem安装任务返回500错误。是否有gem文件的镜像/备份源,或者rubygems.org本质上是rubygem安装过程中的单点故障? 最佳答案 按照Twitter上的几个人的说法,将此添加到您的Gemfile中:source'https://production.cf.rubygems.org'此外,如果您不使用Bundler,您可以运行:$gemsource-a'https://production.cf.rubygems.org'郑重声明,Twitter上的人包括:
是否有一个命令可以告诉您一个gem所依赖的其他gem?另外,有没有办法自动安装gem的依赖项? 最佳答案 以下信息是从下面链接的rubygems命令引用中提取的。http://guides.rubygems.org/command-reference/#gem-dependency您要求的第一个命令是“gemdependency”。下面是命令说明。gemdependencyGEMNAME[options]Options:-v,--versionVERSIONSpecifyversionofgemtouninstall-r,--[
Rubygems的默认搜索路径是什么?我正在尝试确定可以将哪些目录传递给gem的--install-dir开关,这样我就不必设置环境变量GEM_HOME表示要找到的gem。特别是,如果我安装gemjekyll通过$geminstall--bindir/usr/local/bin--install-dir/usr/local/lib/ruby/gems/1.8jekyll然后/usr/local/bin/jekyll在没有显式设置GEM_HOME的情况下找不到它的库:$jekyll--help/usr/lib/ruby/1.8/rubygems.rb:779:in`report_acti
我有几个应用程序,我想共享一些通用代码。我想gem代码并以这种方式在应用程序之间共享/版本化它,尽管我不想将它发布到公共(public)gem服务器。有哪些选项? 最佳答案 这看起来很有希望:https://github.com/cwninja/geminabox/虽然我自己没有用过,所以我不能保证。但是,我最近在官方Rubygems问答网站上看到的一个帖子中推荐了它,其中提到内置的rubygems托管不是推荐的解决方案,而Geminabox是一个不错的选择。请注意,它不具有任何身份验证或安全性(显然,通过模糊处理除外),因此根
我想为我的项目添加代码覆盖率并注册coveralls.io并创建Gemfile:gem'coveralls',require:false但是如何从Gemfile安装gem? 最佳答案 创建Gemfile后,在您的shell中运行命令bundleinstall。此命令将查看您的Gemfile并在指定版本上安装相关的Gem。Gemfile已安装,因为在您的Gemfile中您指出了可以从中下载gems的源。您只需在shell中键入bundleinit即可创建Gemfile我添加了一个Gemfile示例供您引用:source"https:/
尝试使用rvm安装gems时出现此错误$rvmgeminstallsproutcoreERROR:Whileexecutinggem...(Errno::EACCES)Permissiondenied-/home/tee/.gem/specs但它在rvm网站上说你不应该使用sudo所以我不确定我的设置有什么问题当我键入$GEM_HOME时,它显示该目录指向rvm目录$GEM_HOMEbash:/home/tee/.rvm/gems/ruby-1.8.7-p302:isadirectory知道我做错了什么吗? 最佳答案 您的.gem文