当我使用gem下载某些东西时,我希望能够只下载gem,然后选择是否要安装它。我问这个是因为我想在多台计算机上安装特定的gem(而不是在每台计算机上都从Internet安装)。 最佳答案 gem获取所以,像$gemfetchgosu这样的东西......这将在当前目录中留下gosu-0.7.14.gem。即使您已经安装了它,它也能正常工作。 关于ruby-是否可以在不自动安装的情况下下载Rubygem?,我们在StackOverflow上找到一个类似的问题: h
长话短说:不要在现有的git存储库中运行bundle。奇怪的事情会在没有任何错误消息的情况下发生。原始问题:我通过调整本教程中的步骤构建了一个gem:http://net.tutsplus.com/tutorials/ruby/gem-creation-with-bundler/作为最后一步,我运行了gembuild.gemspec这成功了,但是当我安装gem时,我发现包含我的代码的关键文件不在gem中。同一(lib)目录中的另一个文件“version.rb”确实存在于gem中。我不知道如何开始调试...bundler/gembuild如何决定将哪些文件包含在gem中?编辑:我的工作流
目前我正在使用puts,但我确定这不是正确的答案。如何在我的gem中正确设置记录器以输出我的内部日志记录而不是puts? 最佳答案 对于您的gem用户来说,最灵活的方法是让他们提供一个记录器,而不是在gem中设置它。这可能是最简单的classMyGemclass然后您使用MyGem.logger.info"hello"记录来自您的gem的消息(您可能希望将其包装在一个实用程序方法中以测试是否设置了记录器)然后,您的gem用户可以控制消息记录到的位置(文件、系统日志、标准输出等...) 关
我觉得native扩展就像库一样,您应该在尝试安装依赖于native扩展的那些gem之前将其安装到系统中。像ImageMagic库。那是对的吗?关于native扩展,还有什么我们应该了解的吗? 最佳答案 gemnative扩展可能链接到需要预安装的单独库,RMagick就是一个例子。但是,该术语实际上仅表示“包括一些需要为您的机器编译的代码”。代码被编译和链接,因此生成的可执行文件可以被机器上的Ruby要求。编写RubyC或C++扩展的常见原因是:速度。对于一些CPU密集型任务,C代码可以比Ruby快100倍。在这种情况下,nati
我决定从ubuntu10.10开始。我从安装git开始,然后从gitrepo安装rvm。一切正常很好,我编译并安装了ruby1.8.7和ruby1.9.2gem也已安装,我运行gem-v但是当运行gemlist或geminstallrake我得到以下错误ERROR:Loadingcommand:list(LoadError)nosuchfiletoload--zlibERROR:Whileexecutinggem...(NameError)uninitializedconstantGem::Commands::ListCommand知道如何解决这个问题吗?我也试过sudoapt
ruby2.0.0p247(2013-06-27修订版41674)[x86_64-linux]gem2.0.3sudogeminstalltravisBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtravis:ERROR:Failedtobuildgemnativeextension./usr/bin/ruby1.9.1extconf.rb/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require':cannotloadsuchfile
我相信我已经非常清楚和简洁地提出了这个问题。我为什么要问?我要向学生解释RubyonRails框架,这需要我对Java世界做一些类比(因为该类(class)非常以Java为中心)。我没有RubyonRails的实践经验,但我觉得Gem/Jar类比是有效的。谁能进一步阐明这个问题? 最佳答案 作为一个简短的回答,我会说:是的,它是有效的。作为一个长答案,我会说:是的,它是有效的,但您可能还想描述一些重要的区别。jar有一些与gem截然不同的品质。JAR是打包的可执行库,您通常必须在调用时在Java程序的执行中显式声明依赖项(通过在调用
我在多个位置安装了多个gem。生成/重新生成的困难/简单方法是什么:所有这些已安装的gem的rdoc,一次全部?所有这些已安装的gem的yardoc,一次全部? 最佳答案 你试过其中之一吗?gemrdoc--allgemrdoc--all--overwrite 关于ruby-如何为所有已安装的gem重建rdoc?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3152857/
我正在学习http://railstutorial.org/chapters/beginning#sec:1.4.1上的RubyonRails教程,在我尝试让我的应用程序在Heroku上运行之前,一切都很顺利。我安装了heroku,运行良好,但现在当我运行herokukeys:add或任何其他heroku命令时,出现以下错误:/home/sirswap/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/gems/rest-client-1.4.2/lib/restclient.rb:9:in`rescuein':nosuchfiletoload--net/h
我知道你能做到bundleshowgem_name显示一些gem的路径。如何使用Bundler对象在代码中做到这一点? 最佳答案 看看他们是如何做到的cli.rbdeflocate_gem(name)spec=Bundler.load.specs.find{|s|s.name==name}raiseGemNotFound,"Couldnotfindgem'#{name}'inthecurrentbundle."unlessspecifspec.name=='bundler'returnFile.expand_path('../../