-
-
Notifications
You must be signed in to change notification settings - Fork 2k
bundle clean extensions #5596
Comments
This seems intentional, according to #4030 |
@segiddins is there any action for this issue? |
I don't know, the behavior reported seems to be intentional |
It looks like #4030 was about git gems having their extensions being removed when they were still used. This issue is about gems that have been removed from the Gemfile. Notice in the PR description that I do this by simply emptying the Gemfile with the following line
in my example, |
In that case, a PR changing the behavior would be 💯 |
I can confirm that not removing the extension is an accident, leftover from when extensions were moved outside of the directory containing the gem's other files. A PR to fix this would be great. 👍🏻 |
Make `bundle clean` clean extension directories ### What was the end-user problem that led to this PR? The problem was that `bundle clean` command doesn't remove gem extensions (#5596) ### What was your diagnosis of the problem? I've looked into `Bundler::Runtime#clean` and realized that extension dirs are not removed ### What is your fix for the problem, implemented in this PR? My fix is to tweak `Bundler::Runtime#clean` to remove extensions dirs as well. ### Why did you choose this fix out of the possible options? I chose this fix because I didn't see any other option.
A PR to fix this issue has been merged and will be part of the next Bundler release. |
Make `bundle clean` clean extension directories ### What was the end-user problem that led to this PR? The problem was that `bundle clean` command doesn't remove gem extensions (#5596) ### What was your diagnosis of the problem? I've looked into `Bundler::Runtime#clean` and realized that extension dirs are not removed ### What is your fix for the problem, implemented in this PR? My fix is to tweak `Bundler::Runtime#clean` to remove extensions dirs as well. ### Why did you choose this fix out of the possible options? I chose this fix because I didn't see any other option. (cherry picked from commit 2649066)
Make `bundle clean` clean extension directories ### What was the end-user problem that led to this PR? The problem was that `bundle clean` command doesn't remove gem extensions (#5596) ### What was your diagnosis of the problem? I've looked into `Bundler::Runtime#clean` and realized that extension dirs are not removed ### What is your fix for the problem, implemented in this PR? My fix is to tweak `Bundler::Runtime#clean` to remove extensions dirs as well. ### Why did you choose this fix out of the possible options? I chose this fix because I didn't see any other option. (cherry picked from commit 2649066)
pkgsr change * Remove @Prefix@ from ALTERNATIVES file. ## 1.17.2 (2018-12-11) - Add compatability for bundler merge with Ruby 2.6 ## 1.17.1 (2018-10-25) - Convert `Pathname`s to `String`s before sorting them, fixing #6760 and #6758 ([#6761](rubygems/bundler#6761), @alexggordon) ## 1.17.0 (2018-10-25) No new changes. ## 1.17.0.pre.2 (2018-10-13) Features: - Configure Bundler home, cache, config and plugin directories with `BUNDLE_USER_HOME`, `BUNDLE_USER_CACHE`, `BUNDLE_USER_CONFIG` and `BUNDLE_USER_PLUGIN` env vars ([#4333](rubygems/bundler#4333), @gwerbin) - Add `--all` option to `bundle binstubs` that will generate an executable file for all gems with commands in the bundle - Add `bundle remove` command to remove gems from the Gemfile via the CLI - Improve checking file permissions and asking for `sudo` in Bundler when it doesn't need to - Add error message to `bundle add` to check adding duplicate gems to the Gemfile - When asking for `sudo`, Bundler will show a list of folders/files that require elevated permissions to write to. The following new features are available but are not enabled by default. These are intended to be tested by users for the upcoming release of Bundler 2. - Improve deprecation warning message for `bundle show` command - Improve deprecation warning message for the `--force` option in `bundle install` ## 1.17.0.pre.1 (2018-09-24) Features: - Check folder/file permissions of the Bundle home directory in the `bundle doctor` command ([#5786](rubygems/bundler#5786), @ajwann) - Remove compiled gem extensions when running `bundle clean` ([#5596](rubygems/bundler#5596), @akhramov) - Add `--paths` option to `bundle list` command ([#6172](rubygems/bundler#6172), @colby-swandale) - Add base error class to gems generated from `bundle gem` ([#6260](rubygems/bundler#6260), @christhekeele) - Correctly re-install gem extensions with a git source when running `bundle pristine` ([#6294](rubygems/bundler#6294), @wagenet) - Add config option to disable platform warnings ([#6124](rubygems/bundler#6124), @agrim123) - Add `--skip-install` option to `bundle add` command to add gems to the Gemfile without installation ([#6511](rubygems/bundler#6511), @agrim123) - Add `--only-explicit` option to `bundle outdated` to list only outdated gems in the Gemfile ([#5366](rubygems/bundler#5366), @peret) - Support adding multiple gems to the Gemfile with `bundle add` ([#6543](rubygems/bundler#6543), @agrim123) - Make registered plugin events easier to manage in the Plugin API (@jules2689) - Add new gem install hooks to the Plugin API (@jules2689) - Add `--optimistic` and `--strict` options to `bundle add` ([#6553](https://github.com/bundler/bundler/issues/6553), @agrim123) - Add `--without-group` and `--only-group` options to `bundle list` ([#6564](rubygems/bundler#6564), @agrim123) - Add `--gemfile` option to the `bundle exec` command ([#5924](rubygems/bundler#5924), @ankitkataria) The following new features are available but are not enabled by default. These are intended to be tested by users for the upcoming release of Bundler 2. - Make `install --path` relative to the current working directory ([#2048](rubygems/bundler#2048), @igorbozato) - Auto-configure job count ([#5808](rubygems/bundler#5808), @segiddins) - Use the Gem Version Promoter for major gem updates ([#5993](rubygems/bundler#5993), @segiddins) - Add config option to add the Ruby scope to `bundle config path` when configured globally (@segiddins) ## 1.16.6 (2018-10-05) Changes: - Add an error message when adding a gem with `bundle add` that's already in the bundle ([#6341](rubygems/bundler#6341), @agrim123) - Add Homepage, Source Code and Chanagelog URI metadata fields to the `bundle gem` gemspec template (@walf443) Bugfixes: - Fix issue where updating a gem resulted in the gem's version being downgraded when `BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS` was set ([#6529](rubygems/bundler#6529), @theflow) - Fix some rescue calls that don't specifiy error type (@utilum) - Fix an issue when the Lockfile would contain platform-specific gems that it didn't need ([#6491](rubygems/bundler#6491), @segiddins) - Improve handlding of adding new gems with only a single group to the Gemfile in `bundle add` (@agrim123) - Refactor check for OpenSSL in `bundle env` (@voxik) - Remove an unnecessary assignment in Metadata (@voxik) Documentation: - Update docs to reflect revised guidance to check in Gemfile.lock into version control for gems ([#5879](https://github.com/bundler/bundler/issues/5879), @arbonap) - Add documentation for the `--all` flag in `bundle update` (@agrim123) - Update README to use `bundle add` in usage examples (@hdf1986)
Install any gem with an extension through bundler then try to remove it with
bundle clean --force
and the extension will still be in the file system.For example, create a Gemfile
then install and uninstall the gem using bundler
but the extension wasn't cleaned.
A workaround would be to remove the
$GEM_HOME
path and re-installing bundler.Note that my actual use case was that I want to uninstall a gem installed through bundler from a git source, where
gem uninstall
can't be used.The text was updated successfully, but these errors were encountered: