我try 使用命令gem uninstall dm-core卸载datamapper.

但似乎还需要卸载大量依赖的gem.

C:\>gem uninstall dm-core

You have requested to uninstall the gem:
        dm-core-0.9.11
dm-migrations-0.9.11 depends on [dm-core (= 0.9.11)]
dm-cli-0.9.11 depends on [dm-core (= 0.9.11)]
dm-serializer-0.9.11 depends on [dm-core (= 0.9.11)]
dm-timestamps-0.9.11 depends on [dm-core (= 0.9.11)]
dm-aggregates-0.9.11 depends on [dm-core (= 0.9.11)]
dm-types-0.9.11 depends on [dm-core (= 0.9.11)]
dm-is-tree-0.9.11 depends on [dm-core (= 0.9.11)]
dm-observer-0.9.11 depends on [dm-core (= 0.9.11)]
dm-validations-0.9.11 depends on [dm-core (= 0.9.11)]
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn]  n
ERROR:  While executing gem ... (Gem::DependencyRemovalException)
    Uninstallation aborted due to dependent gem(s)

我试图找到关于"gem uninstall"的文档,但似乎没有办法自动卸载依赖项:

C:\>gem help uninstall
Usage: gem uninstall GEMNAME [GEMNAME ...] [options]

  Options:
    -a, --[no-]all                   Uninstall all matching versions
    -I, --[no-]ignore-dependencies   Ignore dependency requirements while
                                     uninstalling
    -x, --[no-]executables           Uninstall applicable executables with
out
                                     confirmation
    -i, --install-dir DIR            Directory to uninstall gem from
    -n, --bindir DIR                 Directory to remove binaries from
        --[no-]user-install          Uninstall from user's home directory
                                     in addition to GEM_HOME.
    -v, --version VERSION            Specify version of gem to uninstall
        --platform PLATFORM          Specify the platform of gem to uninst
all

  Common Options:
    -h, --help                       Get help on this command
    -V, --[no-]verbose               Set the verbose level of output
    -q, --quiet                      Silence commands
        --config-file FILE           Use this config file instead of defau
lt
        --backtrace                  Show stack backtrace on errors
        --debug                      Turn on Ruby debugging


  Arguments:
    GEMNAME       name of gem to uninstall

  Summary:
    Uninstall gems from the local repository

  Defaults:
    --version '>= 0' --no-force --install-dir C:/Ruby18/lib/ruby/gems/1.8
    --user-install

C:\>

我错过什么了吗?

推荐答案

据我所知你是对的,没有一种简单的方法内置到gem命令中来实现这一点.

不过,您可以查看gem prune,它可以帮助您在删除dm core后清理gem存储库.

http://github.com/ddollar/gem-prune/tree/master

Ruby-on-rails相关问答推荐

Gemfile需要较新版本的依赖项

使用has_many_through关联创建记录 – Ruby on Rails

CanCanCan、Pagy 和 Meil​​iSearch,如何组合这 3 个 gem?

Rails 7 共享刺激控制器功能

线程如何在 Web 应用程序中工作?

Rails 100% 新手问题 - send() 方法

您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?

Rails cron 与时俱进,设置环境

使用 Ruby on Rails 从原始 IP 地址获取用户国家名称

Heroku 错误 R14(超出内存配额):我该如何解决?

在 ID 存在时获取表的未知主键

如何找出现有 Rails 应用程序基于哪个 Rails 版本?

Rails:如何在表单的必填字段上禁用星号?

Rails:进行不可逆转的迁移是不是很糟糕?

Rails Devise:设置密码重置令牌并重定向用户

Test::Unit Rails - 如何断言一个数字大于另一个?

ActiveModel::MissingAttributeError:无法使用 FactoryGirl 写入未知属性ad_id

没有路由匹配缺少必需的键:[:id]

警告:运行 ruby​​ 或 gem 命令时不安全的世界可写目录

如何在 Ruby 类/模块命名空间中翻译模型?