Tag: rubygems

耙子流产了! 未初始化的常量Mysql2

Goksel-Eryigits-Mac-mini:blog geryit$ rake db:migrate –trace (in /Users/geryit/Sites/blog) ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute db:migrate rake aborted! Client does not support authentication protocol requested by server; consider upgrading MySQL client /Users/geryit/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/mysql.rb:453:in `read’ /Users/geryit/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/mysql.rb:130:in `real_connect’ /Users/geryit/.rvm/gems/ruby-1.8.7-p330/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:600:in `connect’ /Users/geryit/.rvm/gems/ruby-1.8.7-p330/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:164:in `initialize . . . database.yml的 development: adapter: mysql encoding: utf8 database: test […]

腐蚀的rubygem系统

不知何故,我的rubygem被腐蚀了,当我这么做的时候 $ sudo gem update 我明白了: ERROR: While executing gem … (Gem::Exception) Invalid spec cache file in /home/sawa/.gem/specs/api.rubygems.org%443/specs.4.8 我删除了.gem ,并重新安装了Ruby,但问题仍然存在。 我该怎么修呢?

Bundler / Gemfile如何配置为在开发期间使用不同的gem源?

我有一个Sinatra应用程序需要另一个我在本地开发的gem。 我在配置Bundler以在开发过程中使用我的本地gem代码时遇到了麻烦,但我在生产中使用了我的gem代码。 理想情况下我可以这样做,但Bundler不允许你指定两次相同的gem: # Doesn’t work: group :development do gem ‘awesome’, :path => “~/code/awesome” end group :production do gem ‘awesome’, :path => “vendor/gems/awesome-0.0.1” end 与此同时,我每次部署时都会手动出售gem并更新Gemfile中的gem源,这非常麻烦。 我的工作流程如下: 在开发过程中指向我的本地gem( gem ‘awesome’, :path => “~/code/awesome” ) 准备好部署时,将gem解压缩到vendor/gems 更新Gemfile以指向vendored gem(gem’awesome gem ‘awesome’, :path => “vendor/gems/awesome-0.0.1” ) 运行bundle install (更新Gemfile.lock) 部署代码 返回第1步。 太麻烦了! 我想做一些更简洁的事情,而不仅仅是编写Rake任务来自动化我当前的设置。 这种情况的最佳工作流程是什么?

无法加载此类文件 – mysql2 / 2.4 / mysql2(LoadError) – windows

我是Ruby on Rails的新手。 我的Ruby版本是ruby 2.4.1p111(2017-03-22修订版58053)[x64-mingw32]。 我使用rails new sample_cms -d mysql命令创建了一个新项目。 命令rails server抛出以下错误。 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/mysql2-0.4.6-x64-mingw32/lib/mysql2/mysql2.rb:2:in `require’: cannot load such file — mysql2/2.4/mysql2 (LoadError) 我已经安装了mysql和mysql Connector C.我已经安装了mysql2 gem。 gem install mysql2 —platform=ruby — ‘—with-mysql-dir=”C:\Program Files\MySQL\MySQL Connector C 6.1″‘ 我已经卸载并安装了mysql2 gem,但仍然面临着这个问题。 这是可能有问题的目录。 目录的图像 这是mysql2的gem文件条目 # Bundle edge Rails instead: gem ‘rails’, github: ‘rails/rails’ gem ‘rails’, ‘~> 5.1.1’ # Use […]

确定你正在使用哪个rubygem

如何确定使用哪个rubygem来响应“require”语句? 似乎没有帮助的gem。 背景 :对于项目hornsby-herbarium-parser,我正在使用gem roo。 我使用了github gem hmcgowan-roo,因为那时它比rubyforge版本的roo更新。 我尝试在runco​​derun上测试代码,但它失败了,因为它没有任何版本的roo。 到目前为止,github和rubyforge都提供了新版本的roo。 我决定我可以看看rubyforge的最新版本是否适用于我的代码,因为我认为rubyforge比github forks更官方,权威,稳定。 一旦我确定rubyforge版本适用于我的代码,我会很好地问runco​​derun是否可以在他们的系统上安装它。 我sudo gem安装roo,我的gem现在包括“hmcgowan-roo(1.3.5)”和“roo(1.3.6)”,并且运行hornsby-herbarium-parser的测试仍然通过。 我知道因为rubyforge版本最近安装了,它应该是测试中使用的版本,但我希望能够validation这一点。 gem which roo 没有帮助,因为它给了我 (checking gem hmcgowan-roo-1.3.5 for roo) /usr/lib/ruby/gems/1.8/gems/hmcgowan-roo-1.3.5/lib/roo.rb 我认为这是错误的答案。 更新 :我用过两者 $:.detect {|dir| dir =~ /roo/} 和 puts Roo::VERSION::STRING 两人都同意gem,说我还在使用hmcgowan-roo-1.3.5。

在Ruby中执行非阻塞I / O的首选方法是什么?

如果说我想检索一个网页进行解析,但是在I / O发生时不阻塞CPU。 有没有相当于Python的Eventlet库的东西?

虽然安装了ruby gem但未找到它

我在SO上发现了一些类似的问题,但似乎没有一个与我的情况相符(对不起,如果我忽略了)。 这是我的问题:我在ruby gems目录中安装了oauth-plugin gem,但是尝试在rails应用程序中使用它告诉我它没有找到。 这是相关命令的输出: 安装 % s gem install oauth-plugin Successfully installed oauth-plugin-0.3.14 1 gem installed Installing ri documentation for oauth-plugin-0.3.14… Installing RDoc documentation for oauth-plugin-0.3.14… gem which oauth-plugin输出: % gem which oauth-plugin /usr/lib/ruby/gems/1.8/gems/oauth-plugin-0.3.14/lib/oauth-plugin.rb gem env输出: % gem env RubyGems Environment: – RUBYGEMS VERSION: 1.3.6 – RUBY VERSION: 1.8.7 (2009-12-24 patchlevel 248) [i686-darwin10.2.0] – […]

安装sqlite3-ruby的问题!

我在crunchbang linux上安装sqlite3-ruby gem时遇到问题。 谷歌搜索过去几个小时后跟随几个有同样问题的人,我仍然没有得到它的工作。 这是我在尝试’sudo gem install sqlite3-ruby’之后看到的 构建原生扩展。 这可能需要一段时间…… 错误:安装sqlite3-ruby时出错: 错误:无法构建gem原生扩展。 /usr/bin/ruby1.8 extconf.rb 检查sqlite3.h …是的 检查-lsqlite3中的sqlite3_libversion_number()…是的 检查rb_proc_arity()…没有 检查sqlite3_initialize()…没有 sqlite3-ruby只支持sqlite3版本3.6.16+,请升级! * extconf.rb失败* 由于某些原因,可能无法创建Makefile 必要的库和/或标题。 检查mkmf.log文件以获取更多信息 细节。 您可能需要配置选项。 接下来我跑过这个页面; http://groups.google.com/group/sqlite3-ruby/browse_thread/thread/f22d098b561c48af/6e754f7b2fc3cd75?#6e754f7b2fc3cd75 我下载了sqlite-amalgamation-3.7.0.1.tar.gz并发出以下命令: tar zxvf sqlite-amalgamation-3.7.0.1.tar.gz cd cd sqlite-3.7.0.1 mkdir $ HOME / sqlite ./configure –prefix = $ HOME / sqlite make && make install sudo gem install […]

无法使用jRuby安装rails

我正在尝试使用以下命令使用jRuby安装rails jruby -S gem install rails -v 3.0.6 但坚持错误: JRuby limited openssl loaded. http://jruby.org/openssl gem install jruby-openssl for full support. System.java:-2:in `arraycopy’: java.lang.ArrayIndexOutOfBoundsException from DefaultResolver.java:111:in `makeTime’ from DefaultResolver.java:277:in `create’ from DefaultResolver.java:317:in `handleScalar’ from DefaultResolver.java:435:in `orgHandler’ from DefaultResolver.java:455:in `node_import’ from org/yecht/ruby/DefaultResolver$s_method_1_0$RUBYINVOKER$node_import .gen:65535:in `call’ from CachingCallSite.java:146:in `call’ from RubyLoadHandler.java:40:in `handle’ from Parser.java:300:in `addNode’ from DefaultYAMLParser.java:676:in `yyparse’ from […]

“actionmailer”的未定义方法“name”:String

我有一个旧版本的Rails项目,它是在config / environment文件中使用BrowserCMS构建的 RAILS_GEM_VERSION = ‘2.3.4’ unless defined? RAILS_GEM_VERSION 所以我使用rvm安装了这个gem,所以我可以运行它 $ gem list *** LOCAL GEMS *** actionmailer (2.3.8, 2.3.4) actionpack (2.3.8, 2.3.4) activerecord (2.3.8, 2.3.4) activeresource (2.3.8, 2.3.4) activesupport (2.3.8, 2.3.4) bundler (1.1.4) mysql (2.8.1) rack (1.1.3, 1.0.1) rails (2.3.4) rake (0.8.7) 我运行rake db:create它工作正常,但是当我运行rake db:migrate了这个错误 rake aborted! undefined method `name’ for “actionmailer”:String 我尝试过使用Trace,但我没有得到任何帮助 $ […]