Support #29568
closedSmart Proxy: NameError: uninitialized constant Rabl::ActionView
Description
I'm trying to install and run Smart Proxy within a Docker container which is based on the Foreman Docker container (https://github.com/theforeman/foreman/blob/2f73d131e7bb3793a2140fd9a36b40c0d4469428/Dockerfile)
I'm installing Smart Proxy from source by putting the following line into Gemfile.local.rb
gem "smart_proxy", :git => "git://github.com/theforeman/smart-proxy.git", :tag => "2.0.0"
and calling then
/usr/bin/ruby /usr/bin/bundle install
Installation seems to succeed.
When I'm trying to execute then
bundle exec bin/smart-proxy
I'm getting the following error:
bash-5.0$ bundle exec bin/smart-proxy
bundler: failed to load command: bin/smart-proxy (bin/smart-proxy)
NameError: uninitialized constant Rabl::ActionView
/home/foreman/vendor/ruby/2.6.0/gems/rabl-0.14.2/lib/rabl/digestor.rb:2:in `<module:Rabl>'
/home/foreman/vendor/ruby/2.6.0/gems/rabl-0.14.2/lib/rabl/digestor.rb:1:in `<top (required)>'
/home/foreman/vendor/ruby/2.6.0/gems/rabl-0.14.2/lib/rabl.rb:21:in `<top (required)>'
/usr/share/gems/gems/bundler-1.17.2/lib/bundler/runtime.rb:81:in `require'
/usr/share/gems/gems/bundler-1.17.2/lib/bundler/runtime.rb:81:in `block (2 levels) in require'
/usr/share/gems/gems/bundler-1.17.2/lib/bundler/runtime.rb:76:in `each'
/usr/share/gems/gems/bundler-1.17.2/lib/bundler/runtime.rb:76:in `block in require'
/usr/share/gems/gems/bundler-1.17.2/lib/bundler/runtime.rb:65:in `each'
/usr/share/gems/gems/bundler-1.17.2/lib/bundler/runtime.rb:65:in `require'
/usr/share/gems/gems/bundler-1.17.2/lib/bundler.rb:114:in `require'
/home/foreman/vendor/ruby/2.6.0/bundler/gems/smart-proxy-588e12114437/lib/bundler_helper.rb:25:in `require_groups'
/home/foreman/vendor/ruby/2.6.0/bundler/gems/smart-proxy-588e12114437/lib/smart_proxy_main.rb:31:in `<top (required)>'
/home/foreman/vendor/ruby/2.6.0/bundler/gems/smart-proxy-588e12114437/bin/smart-proxy:5:in `require'
/home/foreman/vendor/ruby/2.6.0/bundler/gems/smart-proxy-588e12114437/bin/smart-proxy:5:in `<top (required)>'
bin/smart-proxy:29:in `load'
bin/smart-proxy:29:in `<top (required)>'
Please bear with me if I'm missing something. I'm new to Foreman, Smart Proxy and Ruby, so pretty much the entire stack.
Updated by Ewoud Kohl van Wijngaarden about 5 years ago
Running the smart proxy in the same container is a very odd thing to do. They are using very different stacks (Rails vs Sinatra). Smart Proxy doesn't have a database while Foreman does. You don't need NodeJS in the smart proxy. I think it's better to use a clean Dockerfile.
Updated by Anonymous about 5 years ago
- Tracker changed from Bug to Support
- Project changed from Foreman to Smart Proxy
- Category deleted (
Smart Proxy) - Status changed from New to Resolved