ruby-on-rails - Ruby - 无法使用 "required"加载 gem,无法运行 Rails

标签 ruby-on-rails ruby

我似乎有正确的包含路径,但很多 gem 无法加载 通过“必需”。可能是什么问题?


测试.rb

#!/usr/bin/ruby -w
require "cgi" # can load this
require "actionpack" # can not load this

/var/www/ruby/test.rb

/var/www/ruby/test.rb:3:in `require': no such file to load --
/var/lib/gems/1.9.2/gems/passenger-3.0.11/test/stub/vendor_rails/minimal/actionpack
(LoadError)
        from /var/www/ruby/test.rb:3:in `<main>'

rails 服务器

/root/src/config/boot.rb:6:in `require': no such file to load --
bundler/setup (LoadError)
        from /root/src/config/boot.rb:6:in `<top (required)>'
        from script/rails:5:in `require'
        from script/rails:5:in `<main>'

gem 环境

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.9.2 (2010-07-02 patchlevel -1) [i486-linux]
  - INSTALLATION DIRECTORY: /var/lib/gems/1.9.2/gems/
  - RUBY EXECUTABLE: /usr/bin/ruby1.9.2
  - EXECUTABLE DIRECTORY: /var/lib/gems/1.9.2/gems/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /var/lib/gems/1.9.2/gems/
     - /root/.gem/ruby/1.9.2
     - /var/lib/gems/1.9.2
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

ls -l/var/lib/gems/1.9.2/gems/

total 296
drwxr-xr-x  4 root root 4096 2011-05-10 12:05 abstract-1.0.0
drwxr-xr-x  3 root root 4096 2011-05-10 12:05 actionmailer-3.0.6
drwxr-xr-x  3 root root 4096 2012-03-15 17:50 actionmailer-3.2.2
drwxr-xr-x  3 root root 4096 2012-03-21 18:59 actionpack-3.2.2
drwxr-xr-x  3 root root 4096 2011-05-10 12:05 activemodel-3.0.6
drwxr-xr-x  3 root root 4096 2012-03-15 17:50 activemodel-3.2.2
drwxr-xr-x  4 root root 4096 2011-05-10 12:05 activerecord-3.0.6
drwxr-xr-x  4 root root 4096 2012-03-15 17:50 activerecord-3.2.2
drwxr-xr-x  4 root root 4096 2011-05-10 12:05 activeresource-3.0.6
drwxr-xr-x  4 root root 4096 2012-03-15 17:50 activeresource-3.2.2
drwxr-xr-x  3 root root 4096 2011-05-10 12:05 activesupport-3.0.6
drwxr-xr-x  3 root root 4096 2012-03-15 17:50 activesupport-3.2.2
drwxr-xr-x  4 root root 4096 2012-03-14 15:21 akami-1.0.0
drwxr-xr-x  4 root root 4096 2011-05-10 12:05 arel-2.0.9
drwxr-xr-x  4 root root 4096 2012-03-15 17:50 arel-3.0.2
drwxr-xr-x  6 root root 4096 2011-05-10 12:05 builder-2.1.2
drwxr-xr-x  5 root root 4096 2012-03-15 17:50 builder-3.0.0
drwxr-xr-x  2 root root 4096 2012-03-21 18:17 bundle-0.0.1
drwxr-xr-x  6 root root 4096 2012-03-21 18:39 bundler-1.1.2
drwxr-xr-x  4 root root 4096 2012-03-15 17:56 daemon_controller-1.0.0
drwxr-xr-x  5 root root 4096 2011-05-10 12:05 diff-lcs-1.1.2
drwxr-xr-x 10 root root 4096 2011-05-10 12:05 erubis-2.6.6
drwxr-xr-x 10 root root 4096 2012-03-15 17:50 erubis-2.7.0
drwxr-xr-x  5 root root 4096 2011-05-10 12:05 factory_girl-1.3.3
drwxr-xr-x  5 root root 4096 2012-03-15 17:56 fastthread-1.0.7
drwxr-xr-x  4 root root 4096 2012-03-14 15:21 gyoku-0.4.4
drwxr-xr-x  3 root root 4096 2012-03-15 17:50 hike-1.2.1
drwxr-xr-x  4 root root 4096 2012-03-14 15:21 httpi-0.9.6
drwxr-xr-x  5 root root 4096 2011-05-10 12:05 i18n-0.5.0
drwxr-xr-x  5 root root 4096 2012-03-15 17:50 i18n-0.6.0
drwxr-xr-x  4 root root 4096 2012-03-15 17:50 journey-1.0.3
drwxr-xr-x 10 root root 4096 2012-03-15 17:50 json-1.6.5
drwxr-xr-x  3 root root 4096 2012-03-14 15:35 libv8-3.3.10.4-x86-linux
drwxr-xr-x  3 root root 4096 2011-05-10 12:05 mail-2.2.19
drwxr-xr-x  3 root root 4096 2012-03-15 17:50 mail-2.4.4
drwxr-xr-x  4 root root 4096 2011-05-10 12:05 mime-types-1.16
drwxr-xr-x  4 root root 4096 2012-03-15 17:50 multi_json-1.1.0
drwxr-xr-x  7 root root 4096 2012-03-15 21:37 mysql-2.8.1
drwxr-xr-x  7 root root 4096 2011-05-10 12:05 nokogiri-1.4.4
drwxr-xr-x  5 root root 4096 2012-03-14 15:21 nori-1.1.0
drwxr-xr-x 14 root root 4096 2012-03-21 18:33 passenger-3.0.11
drwxr-xr-x  4 root root 4096 2011-05-10 12:05 polyglot-0.3.1
drwxr-xr-x  7 root root 4096 2011-05-08 23:16 rack-1.2.2
drwxr-xr-x  7 root root 4096 2012-03-16 20:59 rack-1.4.1
drwxr-xr-x  6 root root 4096 2012-03-15 17:50 rack-cache-1.2
drwxr-xr-x  3 root root 4096 2011-05-10 12:05 rack-mount-0.6.14
drwxr-xr-x  3 root root 4096 2012-03-15 17:50 rack-ssl-1.3.2
drwxr-xr-x  4 root root 4096 2011-05-10 12:05 rack-test-0.5.7
drwxr-xr-x  4 root root 4096 2012-03-15 17:50 rack-test-0.6.1
drwxr-xr-x  6 root root 4096 2012-03-15 21:37 radius-0.7.3
drwxr-xr-x  3 root root 4096 2011-05-10 12:05 rails-3.0.6
drwxr-xr-x  2 root root 4096 2012-03-15 17:50 rails-3.2.2
drwxr-xr-x  4 root root 4096 2011-05-10 12:05 railties-3.0.6
drwxr-xr-x  5 root root 4096 2012-03-15 17:50 railties-3.2.2
drwxr-xr-x  6 root root 4096 2011-05-10 12:05 rake-0.8.7
drwxr-xr-x  5 root root 4096 2012-03-15 17:50 rdoc-3.12
drwxr-xr-x  8 root root 4096 2011-05-10 12:05 RedCloth-4.2.5
drwxr-xr-x  3 root root 4096 2011-05-10 12:06 rspec-2.5.0
drwxr-xr-x  7 root root 4096 2011-05-10 12:05 rspec-core-2.5.2
drwxr-xr-x  5 root root 4096 2011-05-10 12:05 rspec-expectations-2.5.0
drwxr-xr-x  6 root root 4096 2011-05-10 12:05 rspec-mocks-2.5.0
drwxr-xr-x  6 root root 4096 2011-05-10 12:06 rspec-rails-2.5.0
drwxr-xr-x  4 root root 4096 2012-03-21 18:32 rvm-1.9.2
drwxr-xr-x  4 root root 4096 2012-03-14 15:37 savon-0.9.9
drwxr-xr-x  3 root root 4096 2012-03-15 17:50 sprockets-2.1.2
drwxr-xr-x  7 root root 4096 2011-05-10 12:06 sqlite3-ruby-1.2.5
drwxr-xr-x  8 root root 4096 2012-03-14 15:35 therubyracer-0.9.10
drwxr-xr-x  5 root root 4096 2011-05-10 12:05 thor-0.14.6
drwxr-xr-x  5 root root 4096 2012-03-15 17:50 tilt-1.3.3
drwxr-xr-x  7 root root 4096 2011-05-10 12:05 treetop-1.4.9
drwxr-xr-x  4 root root 4096 2011-05-10 12:05 tzinfo-0.3.27
drwxr-xr-x  4 root root 4096 2012-03-15 17:50 tzinfo-0.3.32
drwxr-xr-x  4 root root 4096 2012-03-14 15:21 wasabi-2.1.0
drwxr-xr-x  5 root root 4096 2012-03-16 19:11 webrick-1.3.1

我在新路径中重新安装了 ruby​​(因此路径与我之前的帖子不同)。但仍然有同样的问题。

# ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [i686-linux]
# gem -v
/usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/yaml.rb:56:in `<top 
(required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your 
ruby.
1.8.19

# gem env
/usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/yaml.rb:56:in `<top 
(required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your 
ruby.
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.19
  - RUBY VERSION: 1.9.3 (2012-02-16 patchlevel 125) [i686-linux]
  - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-1.9.3-p125
  - RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-1.9.3-p125/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-1.9.3-p125/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /usr/local/rvm/gems/ruby-1.9.3-p125
     - /usr/local/rvm/gems/ruby-1.9.3-p125@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/



# gem list -d actionpack
/usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/yaml.rb:56:in `<top
(required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your
ruby.

*** LOCAL GEMS ***

actionpack (3.2.2)
    Author: David Heinemeier Hansson
    Homepage: http://www.rubyonrails.org
    Installed at: /usr/local/rvm/gems/ruby-1.9.3-p125

    Web-flow and rendering framework putting the VC in MVC (part of
    Rails).

TEST.RB - 
#!/usr/local/rvm/rubies/ruby-1.9.3-p125/bin/ruby -w
###!/usr/bin/ruby -w # copy of above binary
require 'rubygems'
require 'cgi'
require 'actionpack'

# /var/www/ruby/test.rb
/usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- actionpack (LoadError)
        from 
/usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /var/www/ruby/test.rb:8:in `<main>'

我尝试添加 require“rubygems”。那也没用。仍然遇到同样的错误。 您好,Bhushan nad Tass。是的,我正在使用 rvm。我尝试了 bundler 安装。 # 捆绑程序安装捆绑程序:找不到命令

最佳答案

这应该有效:

#!/usr/bin/ruby -w
require "rubygems"
require "cgi" # can load this
require "actionpack" # can not load this

CGI 是一个标准库,而不是 gem,这就是您可以加载它的原因。为了加载gems,首先需要“rubygems”

更新

此外,尝试要求“action_pack”而不是“actionpack”。自 Rails 3 以来,对于其他活跃* Rails gem 来说,这一点也发生了变化。它们的名称仍然相同,例如 activesupport,但中间必须带有下划线:active_support

正如其他人在这里提到的,也尝试更新gem程序,您的版本非常旧:gem update --system

关于ruby-on-rails - Ruby - 无法使用 "required"加载 gem,无法运行 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816810/

相关文章:

ruby-on-rails - 如何修改 to_json 方法并向其添加动态属性 - Rails 4

ruby-on-rails - app.json 部署后脚本是否会在生产环境上运行以及审核应用程序?

ruby-on-rails - ActiveRecord::Base.connection.execute +CSV:如何循环返回的列?

Ruby 返回 bool 值的惯用方式

ruby-on-rails - Ruby:深度合并 yaml 文件而不覆盖父文件

ruby - 可以在一行中将一个集合枚举到一个数组中吗?

ruby - Mechanize :按标签文本匹配字段

ruby-on-rails - rails : Prevent duplicate inserts due to pressing back button and save again

ruby-on-rails - rails 4 : How do you run a Postgres database downloaded from Heroku on my local machine?

ruby - 按百分比选择数组中的项目