Ruby Rails 上的应用程序无法启动:没有这样的文件要加载 --multi_json(MissingSourceFile)
Ruby on Rails application couldn't be started: no such file to load --multi_json (MissingSourceFile)
我是 rails 上 ruby 的新手,我想安装 Prawn Library。但是 运行ning gem install prawn
失败了,我得到了 ttfunk requires ruby version 1.9.3
。所以我不得不在Gemfile中添加gem 'prawn', '0.12.0',我发现我们的项目中没有这样的文件,所以我在下面添加了它:
source 'https://rubygems.org'
gem 'rake', '0.8.7'
gem 'rails', '2.3.5'
gem 'prawn', '0.12.0'
这是gem list
:
actionmailer (2.3.5)
actionpack (2.3.5)
activemodel (3.2.1)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
afm (0.2.2)
arel (3.0.1)
Ascii85 (1.0.2)
builder (3.0.0)
bundler (1.0.22)
daemon_controller (1.0.0)
declarative_authorization (0.5.1)
erubis (2.7.0)
faraday (0.9.1)
fastercsv (1.5.5)
fastthread (1.0.7)
git (1.2.9.1)
hashery (2.1.1)
hike (1.2.1)
httpauth (0.2.1)
i18n (0.4.2)
journey (1.0.2)
json (1.6.5)
mail (2.4.1)
mime-types (1.17.2)
multi_json (1.8.2)
multipart-post (2.0.0)
mysql (2.9.1)
nokogiri (1.5.6)
oauth2 (0.6.1)
passenger (3.0.11)
pdf-reader (1.3.3)
polyglot (0.3.3)
prawn (0.12.0)
prawn-core (0.6.3)
rack (1.4.1, 1.0.1)
rack-cache (1.1)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (2.3.5)
railties (3.2.1)
rake (0.8.7)
rdoc (3.12)
ruby-progressbar (1.7.5)
ruby-rc4 (0.1.5)
rubygems-update (1.3.7)
rush (0.6.8)
searchlogic (2.5.19)
session (3.2.0)
sprockets (2.1.2)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
ttfunk (1.0.3)
tzinfo (0.3.31)
validatable (1.6.7)
vote_fu (0.0.11)
因此您可以注意到 multi_json 被安装为 gem。我尝试卸载并重新安装它,我还检查了它的权限,并多次尝试重启 nginx 服务器,但是 none 成功了。我无法解决这个问题,我打开了错误指向的 dependencies.rb 文件,我发现了这个:
def require(file, *extras) #:nodoc:
if Dependencies.load?
Dependencies.new_constants_in(Object) { super }
else
#第 58 行 super
end
rescue Exception => exception # errors from required file
exception.blame_file! file
raise
end
请帮我解决这个问题。
更新:非常感谢 Mateusz Czerwiński 我将 gem 'multi_json', '~> 1.11', '>= 1.11.2'
添加到我的 gem 文件和 运行 捆绑包安装,第一个错误消失了。但现在我收到了这个错误:
no such file to load -- i18n/backend/fallbacks (MissingSourceFile)
我检查了 gem 列表,我有 i18n (0.4.2) installed.I 还检查了 i18n/backend/fallbacks.rb 文件是否存在,我在 [=44 下找到了它=].8/gems/i18n-0.4.2/lib/i18n/backend,我更改了它的权限。但是还是不行。
我将 multi_json 所需的 gem 从 /usr/local/lib/ruby 复制到 /multi_json/ruby。这似乎修复了 gems 错误,但我现在遇到以下错误:
Error message:
uninitialized constant FedenaPlugin::Authorization
Exception class:
NameError
我不明白为什么会出现所有这些错误,为什么安装 gem 会导致我的应用程序停止。而且我不明白最后一个错误指示什么。
添加到您的 Gemfile
gem 'multi_json', '~> 1.11', '>= 1.11.2'
然后执行bundle install
。依赖项可能存在问题,并且您的 Gemfile 中没有足够的 gem。
你有很多不必要的宝石,对于 fedena 这些是你应该拥有的宝石:
actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
Ascii85 (1.0.2)
bundler (1.10.6, 1.0.22)
daemon_controller (1.0.0)
declarative_authorization (0.5.1)
faraday (0.9.1)
fastercsv (1.5.5)
fastthread (1.0.7)
git (1.2.9.1)
hashery (2.1.1)
httpauth (0.2.1)
i18n (0.4.2)
json (1.6.5)
multi_json (1.11.2)
multipart-post (2.0.0)
mysql (2.9.1)
nokogiri (1.5.6)
oauth2 (0.6.1)
passenger (3.0.11)
rack (1.4.1, 1.0.1)
rack-cache (1.1)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (2.3.5)
rake (0.8.7)
rdoc (3.12)
ruby-progressbar (1.7.5)
ruby-rc4 (0.1.5)
rush (0.6.8)
searchlogic (2.5.19)
session (3.2.0)
tzinfo (0.3.31)
validatable (1.6.7)
vote_fu (0.0.11)
所以卸载其他的 gem,除了 Gemfile 和 Gemfile.lock 文件之外,删除 multi_json 文件夹,然后尝试这个命令:
gem install prawn -v 0.6.3
希望有用。
我是 rails 上 ruby 的新手,我想安装 Prawn Library。但是 运行ning gem install prawn
失败了,我得到了 ttfunk requires ruby version 1.9.3
。所以我不得不在Gemfile中添加gem 'prawn', '0.12.0',我发现我们的项目中没有这样的文件,所以我在下面添加了它:
source 'https://rubygems.org'
gem 'rake', '0.8.7'
gem 'rails', '2.3.5'
gem 'prawn', '0.12.0'
这是gem list
:
actionmailer (2.3.5)
actionpack (2.3.5)
activemodel (3.2.1)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
afm (0.2.2)
arel (3.0.1)
Ascii85 (1.0.2)
builder (3.0.0)
bundler (1.0.22)
daemon_controller (1.0.0)
declarative_authorization (0.5.1)
erubis (2.7.0)
faraday (0.9.1)
fastercsv (1.5.5)
fastthread (1.0.7)
git (1.2.9.1)
hashery (2.1.1)
hike (1.2.1)
httpauth (0.2.1)
i18n (0.4.2)
journey (1.0.2)
json (1.6.5)
mail (2.4.1)
mime-types (1.17.2)
multi_json (1.8.2)
multipart-post (2.0.0)
mysql (2.9.1)
nokogiri (1.5.6)
oauth2 (0.6.1)
passenger (3.0.11)
pdf-reader (1.3.3)
polyglot (0.3.3)
prawn (0.12.0)
prawn-core (0.6.3)
rack (1.4.1, 1.0.1)
rack-cache (1.1)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (2.3.5)
railties (3.2.1)
rake (0.8.7)
rdoc (3.12)
ruby-progressbar (1.7.5)
ruby-rc4 (0.1.5)
rubygems-update (1.3.7)
rush (0.6.8)
searchlogic (2.5.19)
session (3.2.0)
sprockets (2.1.2)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
ttfunk (1.0.3)
tzinfo (0.3.31)
validatable (1.6.7)
vote_fu (0.0.11)
因此您可以注意到 multi_json 被安装为 gem。我尝试卸载并重新安装它,我还检查了它的权限,并多次尝试重启 nginx 服务器,但是 none 成功了。我无法解决这个问题,我打开了错误指向的 dependencies.rb 文件,我发现了这个:
def require(file, *extras) #:nodoc:
if Dependencies.load?
Dependencies.new_constants_in(Object) { super }
else
#第 58 行 super
end
rescue Exception => exception # errors from required file
exception.blame_file! file
raise
end
请帮我解决这个问题。
更新:非常感谢 Mateusz Czerwiński 我将 gem 'multi_json', '~> 1.11', '>= 1.11.2'
添加到我的 gem 文件和 运行 捆绑包安装,第一个错误消失了。但现在我收到了这个错误:
no such file to load -- i18n/backend/fallbacks (MissingSourceFile)
我检查了 gem 列表,我有 i18n (0.4.2) installed.I 还检查了 i18n/backend/fallbacks.rb 文件是否存在,我在 [=44 下找到了它=].8/gems/i18n-0.4.2/lib/i18n/backend,我更改了它的权限。但是还是不行。
我将 multi_json 所需的 gem 从 /usr/local/lib/ruby 复制到 /multi_json/ruby。这似乎修复了 gems 错误,但我现在遇到以下错误:
Error message:
uninitialized constant FedenaPlugin::Authorization
Exception class:
NameError
我不明白为什么会出现所有这些错误,为什么安装 gem 会导致我的应用程序停止。而且我不明白最后一个错误指示什么。
添加到您的 Gemfile
gem 'multi_json', '~> 1.11', '>= 1.11.2'
然后执行bundle install
。依赖项可能存在问题,并且您的 Gemfile 中没有足够的 gem。
你有很多不必要的宝石,对于 fedena 这些是你应该拥有的宝石:
actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
Ascii85 (1.0.2)
bundler (1.10.6, 1.0.22)
daemon_controller (1.0.0)
declarative_authorization (0.5.1)
faraday (0.9.1)
fastercsv (1.5.5)
fastthread (1.0.7)
git (1.2.9.1)
hashery (2.1.1)
httpauth (0.2.1)
i18n (0.4.2)
json (1.6.5)
multi_json (1.11.2)
multipart-post (2.0.0)
mysql (2.9.1)
nokogiri (1.5.6)
oauth2 (0.6.1)
passenger (3.0.11)
rack (1.4.1, 1.0.1)
rack-cache (1.1)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (2.3.5)
rake (0.8.7)
rdoc (3.12)
ruby-progressbar (1.7.5)
ruby-rc4 (0.1.5)
rush (0.6.8)
searchlogic (2.5.19)
session (3.2.0)
tzinfo (0.3.31)
validatable (1.6.7)
vote_fu (0.0.11)
所以卸载其他的 gem,除了 Gemfile 和 Gemfile.lock 文件之外,删除 multi_json 文件夹,然后尝试这个命令:
gem install prawn -v 0.6.3
希望有用。