How to purge Heroku-injected gems - ruby-on-rails

During deployment Heroku injects some plugins
-----> Rails plugin injection
Injecting rails_log_stdout
Injecting rails3_serve_static_assets
..which are becoming deprecated
DEPRECATION WARNING: You have Rails 2.3-style plugins in
vendor/plugins! Support for these plugins will be removed in Rails
4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/*
I have been using heroku some time ago (and the gems have been injected), but moved to a VPS solution, so I'm not using Heroku anymore. How do I purge the injected plugins from my app? In the end I want to get rid of these deprecation warnings.

The gems are injected at Runtime – if you're using Heroku, you can't avoid them, unless you make a custom buildpack.
If you're not using Heroku anymore, then how/where are you seeing this message?

Related

Redmine on Heroku: missing plugins

My plugins are working fine and appear locally, but as I push my app on Heroku, the plugins index page is empty and there is no plugin...
I've removed everything from my .gitignore to be sure, as suggested here and I've also ran heroku run rake redmine:plugins:migrate.
I've got the following depreciation warnings but I don't know if it comes from here:
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
Plugins in vendor/plugins (/app/vendor/plugins) are no longer allowed. Please, put your Redmine plugins in the `plugins` directory at the root of your Redmine directory (/app/plugins).
However, my plugins are already included in the 'plugins' directory and I'm now kind of stuck on how to solve this problem...
Rails v3.2.17 with Redmine v2.5.1.
Thanks!
In the meantime, I found that it might be related to git submodules problem, as the redmine_app_timesheets folder was present but figured to be empty while running 'heroku run bash'.
So I deleted the two folders and reinstalled the plugin using:
git submodule add https://github.com/maxrossello/redmine_app__space.git plugins/redmine_app__space
git submodule add https://github.com/maxrossello/redmine_app_timesheets.git plugins/redmine_app_timesheets
Plugins are now working, just not sure what configuration I might have lost deleting the local plugins.

Could I delete /vendor folder from Rails application?

I am using Ruby 1.9.3p194 with Rails 3.2.13 and have newly created an Rails application which contains /vendor folder with .gitkeep files:
/vendor/assets/javascripts
/vendor/assets/stylesheets
/vendor/plugins
all the folders are empty.
When I run this application on Heroku it warns:
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins!
Support for these plugins will be removed in Rails 4.0. Move them out
and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/*
and config/initializers/myplugin.rb. See the release notes for more on this:
http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released.
(called from <top (required)> at /app/config/environment.rb:5)
Could this /vendor folder be deleted completely without any negative consequences?
I don't have this version of Rails installed to test this with, but I can offer a suggestion in lieu of a definitive answer.
Simply rename the /vendor folder something else and try to run the application again. See if it fails (or some other negative consequences), or succeeds (isn't needed). Even if it succeeds, you can always keep it in case it is needed in the future.
use
mv old-folder-name new-folder-name
so...
mv /vendor /vendor.backup
And everything under it will remain in /vendor.backup
You get this message on Heroku because with Rails 3 they inject plugins at compile time for logging and pipeline.
To prevent these deprecation notices if you add
gem 'rails_12factor', group: 'production'
to your gemfile they will disappear since this gem provides the same functionality as the previously injected plugins. This recently came up on the Heroku Changelog - see https://devcenter.heroku.com/changelog-items/318
No it wont hurt to remove this directory. But it should be enough just to remove /vendor/plugins so no actually need to remove the whole /vendor path.
Rails 4.0 apps have only /vendor/assets/javascripts and /vendor/assets/stylesheets, empty except for the .keep file.
Given it's empty, you could certainly remove /vendor/plugins (which should get rid of the deprecation warning). I would just leave the /vendor/assets directories.
vendor/bundle/ruby/2.6.0/gems/sassc-2.4.0/ext/libsass.so: cannot open shared object file: No such file or directory
when i have some troubles in deployment on the server, like compilation of extension ".so". i delete the vendor/bundle of my local app or add it in gitignore. so the built, compilation and deployment is entirely done by the machine running the server.
Your local machine and the machine running the server are always differents.

DEPRECATION WARNING in heroku during deploying rails app [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Rails 2.3-style plugins and deprecation warnings running task in Heroku
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support
for these plugins will be removed in Rails 4.0. Move them out and bundle them i
n your Gemfile, or fold them in to your app as lib/myplugin/* and config/initial
izers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonr
ails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required
)> at /app/Rakefile:7)
shows 3 times, sometimes shows 2 times what it means? is there any special meaning?
How to solve this problem for db:migrate
Heroku "injects" some plugins during slug compilation.
-----> Rails plugin injection
Injecting rails_log_stdout
Injecting rails3_serve_static_assets
See Rails 2.3-style plugins and deprecation warnings running task in Heroku

removing rails plugins from project

I'm getting this deprecation error on my rails 3.2 project which I upgraded from a rails 3.1 project:
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
I'm trying to get rid of this error, but I can't seem to find the plugin. I have already deleted the plugin from vendor/plugins.
If your vendor/plugins is completely empty, then I bet you're deploying to Heroku. As part of the deploy process, Heroku injects plugins into your application. Check out this Stackoverflow answer for an actual Heroku response to this issue.

Deprecation warning in rails 2.3.11

I am using Rails 2.3.11. I am getting a lot of deprecation warning like
DEPRECATION WARNING: Rake tasks in vendor/plugins/delayed_job/tasks,
vendor/plugins/fckeditor/tasks,
vendor/plugins/jrails/tasks,
vendor/plugins/query_reviewer/tasks,
vendor/plugins/thinking-sphinx/tasks,
vendor/plugins/tiny_mce/tasks, vendor/plugins/tolk/tasks,
and vendor/plugins/xss_terminate/tasks are deprecated.
Use lib/tasks instead. (called from /usr/lib/ruby/gems/1.8/gems/rails-2.3.11/lib/tasks/rails.rb:10)
Give suggestions to avoid these warnings
Move tasks into lib/tasks…
No, actually, start using bundler. If an upgrade to Rails 3.x is too much work, at least move over to bundler and move all those dependencies into your Gemfile. It works fine with Rails 2.3.

Resources