解析多个版本的rubygems
我有什么看起来像我的机器上安装的多个版本的
rubygems,当我的宝石列表我看到我的所有宝石,但当我去运行脚本,我收到错误消息,如
Missing these required gems: SystemTimer 是否有任何方法可以删除所有版本的rubygems而不是一个?理想情况下,我希望能够访问我的程序中出现在宝石列表下的所有宝石. 来自宝石环境 如果我跑: $/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby script/mailer_daemon_fetcher start production no such file to load -- SystemTimer /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require' /Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:156:in `require' /Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:521:in `new_constants_in' /Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:156:in `require' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/rails/gem_dependency.rb:208:in `load' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:307:in `load_gems' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:307:in `each' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:307:in `load_gems' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:164:in `process' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:113:in `send' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:113:in `run' ./script/../config/environment.rb:13 script/mailer_daemon_fetcher:5:in `require' script/mailer_daemon_fetcher:5 no such file to load -- SystemTimer /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require' /Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:156:in `require' /Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:521:in `new_constants_in' /Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:156:in `require' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/rails/gem_dependency.rb:208:in `load' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:307:in `load_gems' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:307:in `each' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:307:in `load_gems' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:169:in `process' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:113:in `send' /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/initializer.rb:113:in `run' ./script/../config/environment.rb:13 script/mailer_daemon_fetcher:5:in `require' script/mailer_daemon_fetcher:5 Missing these required gems: SystemTimer You're running: ruby 1.8.7.72 at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby rubygems 1.3.5 at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8,/Library/Ruby/Gems/1.8 请注意上面我手动调用ruby ** / System / Library / Frameworks / Ruby.framework / Versions / 1.8 /usr/bin/ruby?? **这是我的/usr/bin/ruby??符号链接到的文件,我的GEM_PATH也设置为/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 宝石环境的完整输出可在此处获取:http://pastie.org/661104 解决方法
我觉得你可能使用的不同版本的ruby比ruby宝石更多.无论是ruby还是ruby都不知道在哪里寻找你的宝石.
请参阅gem installation guide以确保您的环境配置为使用gem. 如果您在按照说明操作后仍然遇到问题,请确保您没有安装多个版本的ruby.如果有多个版本的Ruby可用,请确保您的脚本调用与gem相同的Ruby版本.这是通过将RUBY_EXECUTABLE的gem环境列表与脚本的shebang行进行比较来完成的.仔细检查以遵循任何符号链接,因为大多数基于分发的ruby安装会将/usr/bin/ruby??符号链接到/usr/bin/ruby1.8 您还应该检查您的gem是否由运行该脚本的同一用户安装. 如果您在没有root权限的情况下运行gem install,则新gem将安装在您的主目录中.如果您正在运行依赖于这些gem作为另一个用户的脚本.那些已安装的宝石将无法找到.但是,如果您的gem由root用户安装并且另一个用户正在运行需要这些gem的脚本,则没有问题. 我从Ruby转向Ruby Enterprise Edition时遇到了这个问题.我发现我必须使用REE的gem实例再次安装我所需的所有宝石. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |