【问题标题】:Can't uninstall Rails gem无法卸载 Rails gem
【发布时间】:2015-02-12 10:53:01
【问题描述】:

我在更新rails 版本时注意到卸载rails 仍然可以访问它(您可以致电$ rails new name)。我在终端中使用了以下命令,(我在 OS X 上使用rvm):

 ~  rvm list

rvm rubies

=> ruby-2.0.0-p594 [ x86_64 ]
   ruby-2.1.3 [ x86_64 ]
 * ruby-2.2.0 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

 ~  rails -v
Rails 4.2.0
 ~  gem uninstall rails
 ~  gem list G rails
capistrano-rails (1.1.0)
coffee-rails (4.0.1)
factory_girl_rails (4.3.0)
font-awesome-rails (4.0.3.1)
jquery-rails (3.0.4)
jquery-ui-rails (4.1.1)
rails-deprecated_sanitizer (1.0.3)
rails-dom-testing (1.0.5)
rails-html-sanitizer (1.0.1)
rails-observers (0.1.2)
rails_admin (0.6.0)
rspec-rails (2.14.1)
sass-rails (4.0.1)
sprockets-rails (2.0.1)
 ~  rails -v
Rails 4.2.0 

如您所见,在卸载 rails 后,我仍然可以访问它。 gem list G rails 中的 G 是 |GREP 的别名。

如何摆脱 Rails?

【问题讨论】:

    标签: ruby-on-rails ruby rubygems rvm


    【解决方案1】:

    从 Rails 4 开始,我能够从 OSX/Ubuntu 中完全清除 rails 的唯一方法是卸载 railties,这将删除 rails 和任何相关的 rails ruby​​gem。如果您想删除特定版本(在您的情况下为 4.2.0),您可以执行以下操作:

    gem uninstall railties -v 4.2.0
    

    【讨论】:

    • 我很好奇这是为什么?这是因为依赖吗?如果是,那么为什么卸载 rails 不会删除 railties?
    • 我记得不久前遇到了一个确切的答案,我相信它归结为用于 version 命令的 railties。基本上,当您运行 rails -v 时,它会输出您卸载 rails 时未卸载的 railties 版本。由于 railties 仅由 rails 使用,这有点不直观,并且是 ruby​​gems 不了解 gem 的“独占依赖关系”的结果。这意味着当您卸载 rails 时,rubygems 不知道 railties 是 rails 的专有依赖项,因此也必须卸载。
    猜你喜欢
    • 2011-04-29
    • 1970-01-01
    • 2017-07-23
    • 2021-04-18
    • 2016-12-04
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多