无法加载此类文件 - 主动支持

时间:2016-07-13 13:32:12

标签: ruby-on-rails ruby terminal activesupport

我正在尝试启动rails服务器,但是我收到错误:

/Users/<username>/RubyWorkspace/<appname>/vendor/bundle/gems/railties-5.0.0/lib/rails/commands/rake_proxy.rb:2:in `require': cannot load such file -- active_support (LoadError)

当我访问/ vendor / bundle并列出宝石时,我看不到主动支持:

actioncable-5.0.0       minitest-5.9.0
actionmailer-5.0.0      multi_json-1.12.1
actionpack-5.0.0        nio4r-1.2.1
actionview-5.0.0        pkg-config-1.1.7
activejob-5.0.0         rack-2.0.1
activemodel-5.0.0       rack-test-0.6.3
activerecord-5.0.0      rails-5.0.0
arel-7.0.0              rails-dom-testing-2.0.1
builder-3.2.2           rails-html-sanitizer-1.0.3
byebug-9.0.0            railties-5.0.0
byebug-9.0.5            rake-11.2.2
coffee-rails-4.2.1      rb-fsevent-0.9.7
coffee-script-2.4.1     rb-inotify-0.9.7
coffee-script-source-1.10.0 sass-3.4.22
concurrent-ruby-1.0.2       sass-rails-5.0.5
debug_inspector-0.0.2       spring-1.7.1
erubis-2.7.0            spring-1.7.2
execjs-2.7.0            spring-watcher-listen-2.0.0
ffi-1.9.14              sprockets-3.6.3
globalid-0.3.6          sprockets-rails-3.1.1
i18n-0.7.0              thor-0.19.1
jbuilder-2.4.1          thread_safe-0.3.5
jbuilder-2.5.0          tilt-2.0.5
jquery-rails-4.1.1      turbolinks-5.0.0
listen-3.0.8            turbolinks-source-5.0.0
loofah-2.0.3            tzinfo-1.2.2
mail-2.6.4              uglifier-3.0.0
method_source-0.8.2     web-console-3.1.1
mime-types-3.1          web-console-3.3.1
mime-types-data-3.2016.0521 websocket-driver-0.6.4
mini_portile2-2.1.0     websocket-extensions-0.1.2

但是当我运行bundle update时,bundler说它正在使用主动支持:

Using rake 11.2.2
....
Using activesupport 5.0.0
....
Bundle updated!
Gems in the group production were not installed.

我认为有一件事可能导致错误,但我不确定,当我在gem路径下运行gem env时,它会显示:

- GEM PATHS:
 - /Users/<username>/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0
 - /Users/<username>/.gem/ruby/2.3.0

我是否需要修复gem路径,是否需要在其他目录中重新安装活动支持,还是完全不需要其他内容?

1 个答案:

答案 0 :(得分:0)

注意:不同堆栈的错误相同。我正在与Sinatra合作并遇到了这个问题。其中:

  1. gem list显示已安装activesupport(例如Using activesupport 5.0.2)。
  2. 我的bundle exec rackup仍未通过LoadError: cannot load such file -- active_support/all
  3. 失败
  4. 使用通过rbenv
  5. 安装的Ruby 2.3.0

    修复:故障排除让我意识到我会运行sudo bundle install而不是bundle install。因此,为activesupport用户而不是我的用户安装了root。然后我跑了:

    1. 使用gem uninstall activesupport(提示y es)卸载了宝石
    2. 在适当的用户bundle install
    3. 上重新安装
    4. bundle exec rackup成功启动我的应用
    5. TLDR :文件权限问题。 Gem已安装在root上,并尝试以non-root进行访问。是gem uninstall all&gt; y es~50k次&gt; bundle install&gt;应用程序启动没有问题。