ruby-on-rails – ActiveAdmin未初始化的常量
发布时间:2020-12-17 01:55:07 所属栏目:百科 来源:网络整理
导读:将应用程序部署到VPS后,出现以下错误. ActiveAdmin在我的本地开发环境中运行良好,但是一旦我使用capistrano部署,看起来好像没有安装gem? E,[2013-03-14T01:27:04.901577 #24972] ERROR -- : uninitialized constant ActiveAdmin (NameError)/home/deployer/
将应用程序部署到VPS后,出现以下错误. ActiveAdmin在我的本地开发环境中运行良好,但是一旦我使用capistrano部署,看起来好像没有安装gem?
E,[2013-03-14T01:27:04.901577 #24972] ERROR -- : uninitialized constant ActiveAdmin (NameError) /home/deployer/apps/papaya/releases/20130314052558/config/initializers/active_admin.rb:1:in `<top (required)>' 我的宝石文件 source 'https://rubygems.org' gem 'rails','3.2.11' # Bundle edge Rails instead: # gem 'rails',:git => 'git://github.com/rails/rails.git' gem 'pg' gem 'bootstrap-sass' gem 'font-awesome-sass-rails' # gem 'acts_as_tree',:git => 'git://github.com/amerine/acts_as_tree.git' gem 'closure_tree' gem 'kaminari' gem 'friendly_id' gem 'slim' gem 'gmaps4rails' gem 'devise' gem 'omniauth' gem 'oauth2' gem 'omniauth-facebook' gem 'omniauth-twitter' gem 'simple_form' gem 'pg_search' gem 'stamp' gem 'acts-as-taggable-on','~> 2.3.1' gem 'rmagick' gem 'carrierwave' gem 'select2-rails' # gem 'roo' gem 'activeadmin' gem "meta_search",'>= 1.1.0.pre' # Gems used only for assets and not required # in production environments by default. group :assets do gem 'sass-rails','~> 3.2.3' gem 'coffee-rails','~> 3.2.1' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer',:platforms => :ruby gem 'uglifier','>= 1.0.3' gem 'compass-rails' gem 'turbo-sprockets-rails3' end 我可以毫无问题地运行控制台,并需要activeadmin deployer@pareto:~/apps/papaya/current$RAILS_ENV=production bundle exec irb irb(main):001:0> require 'activeadmin' => true irb(main):002:0> 解决方法
发生了什么?
当需要定义常量的gem时,比如ActiveAdmin或ActiveAdmin :: Comment,如果由于某种原因在定义该常量时出现问题,Bundler会将该常量保留为未定义且不会再次引发异常. 可能的原因 ActiveAdmin依赖于ExecJS,ExecJS需要一个有效的JavaScript运行时.在定义ActiveAdmin常量期间,ExecJS会抛出这样的错误. ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. 在这种情况下,只需安装Node.js. sudo apt-get install nodejs 如何调试这样的问题 >尝试运行Rails控制台.捆绑exec rails console>如果失败,请尝试在irb中手动需要有问题的gem并完成其依赖项.>需要宝石或部分,如果它应该被定义但不是.当需要手动Rubygems抛出描述问题的异常时.>解决异常并修复它们,直到问题得到解决. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |