草庐IT

chef_gem

全部标签

ruby-on-rails - gem install therubyracer -v 0.11.4 在 OS X 10.10 上失败

按照此处的步骤操作"geminstalltherubyracer-v'0.10.2'"onosxmavericksnotinstalling,我能够让therubyracer-v0.10.2和0.12.0安装正常,但不能安装0.11.4。geminstalltherubyracer-v0.11.4返回:Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./Users/thooper/.rbenv/ver

ruby - 在 Chef 的提供者的 default.rb 中使用 File::read

我正在尝试创建一个LWRP,它将调用在其自身中定义的资源。我的Recipe结构如下:在机器Recipe的提供者中,我有如下代码片段:require'chef/provisioning'#driverforcreatingmachinesrequire'::File'defget_environment_json@@environment_template=JSON.parse(File::read(new_resource.template_path+"environment.json"))return@@environment_templateend代码只是试图读取一个json文件,

ruby-on-rails - 我应该在系统存储库(全局)或项目供应商/ bundle (本地)中安装 ruby​​ gems 吗?

我在Windows7上使用Ruby2.1和Rails4.1。每当我运行bundleinstall时,所有gem都安装在系统路径c:/Ruby21/lib/ruby/gems/2.1.0/gem/。我还在我的项目中找到了vendor目录。来自PHPcomposer和node.jsnpm后台,所有的依赖都应该本地安装在项目的vendor文件夹或者node_modules文件夹中。所以,我的问题是:我应该在系统路径或vendor/bundle中安装gems?如果所有gem或部分gem应该安装在系统路径中,它会如何影响我可能无法访问shell的生产环境?应该将所有gem还是特定gem安装在ve

ruby - Chef - 执行 vs bash 资源

我同时使用了execute资源或bash资源。两者实现相同的结果:bash'Executemyscript'douser'root'cwd'/mydir'code我看到的唯一区别是bash实际上创建了一个shell脚本(名为/tmp/chef-script#{date}{#id}),其中code写好了。在execute或bash资源之间使用Chef执行shell脚本的最佳做法是什么? 最佳答案 对于单个脚本,使用execute。bash资源用于在配方代码中包含内联脚本内容。 关于ruby

ruby - rails ransack gem 搜索 json 列

我有一个字段作为json列,我必须搜索该列中的所有电话值,我已经搜索过它但没有找到任何使用ransack的文档。是否可以使用ransaack来搜索json列?我已经使用ransack搜索其他字段,所以我必须使用ransack或可以结合这两种结果的东西我的json列看起来像这样{"phone1"=>"","relationship_type1"=>"","relationship_name1"=>"","phone2"=>"","relationship_type2"=>"","relationship_name2"=>"","phone3"=>"","relationship_type

ruby-on-rails - rails : Bundler could not find compatible versions for gem "actionpack" on installing ActiveAdmin

我在我的gemfile中添加了gem'activeadmin',github:'activeadmin'并进行了捆绑安装。然后它向我抛出以下错误。Bundlercouldnotfindcompatibleversionsforgem"actionpack":Insnapshot(Gemfile.lock):actionpack(=5.0.0.1)InGemfile:activeadmin(~>1.0.0.pre4)wasresolvedto1.0.0.pre4,whichdependsonformtastic(~>3.1)wasresolvedto3.1.4,whichdependso

ruby-on-rails - 我怎么知道一个 gem 与一个版本的 rails 兼容?

我刚刚开始使用ruby​​onrails,在我按照教程进行操作时,没有解释如何收集某些gem并将其放置在Gemfile中。我一直在复制和粘贴它们并将它们放入我的Gemfile并运行bundleinstall。如何下​​载特定版本的gems及其依赖项,并确保它们与我正在使用的rails版本兼容? 最佳答案 如果您未指定Gem版本,Bundler会根据您当前的Rails版本确定要安装的版本。通常Bundler也会在无法安装您指定的版本时发出警告。gem'gemname'这会安装与您的Rails版本兼容的任何版本。gem'gemname'

ruby - 使用 ruby​​gem 访问 Shopify API 时出现 SSL_connect 错误

我在使用shopify_apigem访问ShopifyAPI时遇到问题。这是发生了什么:>>require"shopify_api"#=>false>>ShopifyAPI::Base.site="https://username:secret@mysite.myshopify.com/admin"=>"https://username:secret@mysite.myshopify.com/admin">>products=ShopifyAPI::Product.find(:all)Errno::ECONNRESET:Connectionresetbypeer-SSL_connect

Ruby:如何推断 "current" gem 名称?

我知道以下内容来获取Gem的询问规范:spec=Gem::Specification.find_by_name('my_gem')有没有办法以编程方式识别“此”gem的名称,以便可以以可重用的方式重写上述内容?换句话说,如何在运行时从一些正在执行的Ruby代码中获取父gem的名称? 最佳答案 要查找当前源文件的gem规范(假设它是lib目录中的源文件):require'rubygems'searcher=ifGem::Specification.respond_to?:find#ruby2.0Gem::Specificationel

ruby - 在 Chef 执行期间在 native 扩展包之后安装 gem

我正在尝试在ChefRecipe中安装foggem,尽管gem安装发生在安装native包之前,因此gem安装失败package"libxslt-dev"package"libxml2-dev"chef_gem"fog"这是输出[Thu,14Mar201313:04:30+0000]INFO:Processingchef_gem[fog]actioninstall(ebs4000::update_volumesline23)[Thu,14Mar201313:04:52+0000]ERROR:Runningexceptionhandlers[Thu,14Mar201313:04:52+0