草庐IT

ruby-on-rails - 无法安装sqlite3 gem

我正在尝试运行bundle命令来安装待办事项应用程序的所有gem。所有gem都已顺利下载,但sqlite3gem没有。我不知道以下是什么意思,有人可以解释一下发生了什么以及如何解决吗?安装带有native扩展的sqlite31.3.8Gem::Ext::BuildError:错误:无法构建gemnative扩展。/Users/tomfinet/.rbenv/versions/2.2.3/bin/ruby-r./siteconf20151208-2023-1esrcfp.rbextconf.rbcheckingforsqlite3.h...yescheckingforsqlite3_li

ruby - 如何用另一种语言解密由 Ruby 的 `symmetric-encryption` gem 加密的数据?

我想访问由Rails创建的供非Ruby代码使用的数据库中的数据。一些字段使用attr_encrypted访问器,使用的库是symmetric-encryptiongem。如果我尝试使用例如NodeJScrypto库解密数据,我总是会收到“错误的最终block长度”错误。我怀疑这与字符编码或填充有关,但我无法根据文档弄明白。作为实验,我尝试从Ruby自己的OpenSSL库中的symmetric-encryption解密数据,但我得到了“解密错误”错误或相同的问题:SymmetricEncryption.cipher=SymmetricEncryption::Cipher.new(key:

ruby - Capistrano:使用标准 Gem-Home 中的 Bundle Gems

当使用Capistrano进行部署时,我想使用已安装的gem,而不是将它们安装到vendor中。Capistrano似乎忽略了.gemrc和.bashrc,所以我在deploy.rb中尝试了这个:require'bundler/capistrano'set:default_environment,{'GEM_HOME'=>'/some_path/.gem','GEM_PATH'=>'/some_path/.gem','BUNDLE_PATH'=>'/some_path/.gem'}我的gems位于/some_path/.gem/gems,bin:/some_path/.gem/bin。

ruby - 在 Ruby 中需要 RMagick gem 的问题

我在Windows系统上安装RMagick没有明显问题,但实际使用时遇到问题。特别是:C:\Users\dancrumb>ruby-rubygems-rRMagick-e"putsMagick::Long_version"C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems.rb:900:in`report_activate_error':RubyGemversionerror:rmagick(2.12.0not>=0)(Gem::LoadError)fromC:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems.r

ruby - 如何将其他构建系统与 ruby​​gems 一起使用?

由于theinflexibilityofmkmf,我的C代码越来越难管理了.因此,我想使用另一个构建系统。为了构建C扩展,rubygems需要什么?如何将autotools/configure等构建系统集成到工作流中?Gem::Specification.new'my_gem'do|gem|#Willthiswork?gem.extensions=%w(ext/my_gem/configure)end 最佳答案 有一些工具可以帮助解决这种情况(例如rake-compilergem),但我更喜欢使用RubyInlinegem。它旨在用

ruby-on-rails - 如何覆盖 gem 的常量? (Rails 上的 ruby )

我正在使用Twitter-textgem在我的项目中,但我遇到了一些错误。我需要覆盖该gem的一个常量。我在StackOverflow上看到一些关于方法覆盖的问题对我有帮助,但我仍然遇到麻烦。我在/config/initializers/中创建了一个名为twitter-text.rb的文件,并编写了以下代码:moduleTwitterclassRegexHASHTAG_CHARACTERS="/[[^]_#{LATIN_ACCENTS}]/io"endend(这个正则表达式允许我用除空格以外的任何字符编写标签)。我也在尝试重写一个方法,但它似乎也不起作用。按照我的代码(在同一个文件上)

ruby - 命令行实用程序 gems 是如何工作的?

像“rails”、“rspec”和“cucumber”这样的gem如何允许用户使用以他们的gem名称开头的命令??railsnewprojectrspecspeccucumberfeatures并不是所有的gem都有这个能力。例如,当我输入json时,即使我已经安装了它,我也会得到-bash:json:commandnotfound 最佳答案 Gem的.gemspec文件如下所示:Gem::Specification.newdo|s|s.name="haml"s.version="3.1.8"....s.executables=["

ruby-on-rails - 迁移错误 : undefined method `cache' for Gem:Module

通过Rails应用程序迁移时出现此错误undefinedmethod`cache'forGem:Module正在使用Rails3.2.9Ruby1.8.7Ubuntu12.04rakedb:migrate--trace/home/rajendran/.rvm/gems/ruby-1.8.7-p374/gems/extlib-0.9.15/lib/extlib/object.rb:138:warning:methodredefined;discardingoldtry_dup/home/rajendran/.rvm/gems/ruby-1.8.7-p374/gems/extlib-0.9

ruby-on-rails - 安装 eventmachine gem 时出错

当我运行foremanstart时,出现以下错误:pallav@pallav-System-Product-Name:~/Workspace/Aadvisor$foremanstart10:04:32web.1|startedwithpid1102210:04:32web.1|/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in`blockinmaterialize':Couldnotfindeventmachine-0.12.10inanyofthesources(Bundler::GemNotFou

ruby - 如果我将我的 ruby​​ 代码放入 gem,它的源代码是否安全?

我的理解是,当我制作gem时,我正在将我的ruby​​代码编译成某种形式的可执行文件,对吗?这是否意味着除非有人使用内省(introspection)技术(这对我来说是可以接受的风险),否则我的源代码是安全的? 最佳答案 gem不是编译后的可执行文件。它根本没有编译。Ruby被解释。创建gem只是将必要的文件捆绑在一起,很像zip文件或tar存档。如果您希望您的gem安全,您应该将其远离ruby​​gems.org。您可以设置自己的私有(private)gem服务器,也可以只将您的gem包含在需要它的项目中。