【问题标题】:How do I completely uninstall ruby, rails, rvm, gems?如何完全卸载 ruby​​、rails、rvm、gems?
【发布时间】:2016-08-09 06:14:03
【问题描述】:

我对 Ruby on Rails 非常陌生。我已经通过 Mac OS 终端安装了 ruby​​、rails、gems 和 RVM(可能还有更多与 RoR 相关的文件)。 当我第一次安装这些软件时,它们似乎运行良好,我可以执行如下命令行: rails new 'project' 或 rails server 但是后来我弄乱了 git、目录和一些 sudo bundle/gem 命令,因为“bundle install”命令不起作用。老实说,我不知道我做了什么,但所有这些命令行现在都停止工作了。 它们输出各种错误信息,例如:

1) 解析“Gemfile”时出错:未定义 Gemfile 的局部变量或方法。 Bundler 无法继续。

2) bash: /usr/local/bin/rails: /usr/local/opt/ruby/bin/ruby: 错误的解释器:没有这样的文件或目录

3) 错误:执行 gem 时 ... (Gem::FilePermissionError) 你没有写权限

4) find spec_for exe': 找不到 gem bundler (>= 0.a) (Gem::GemNotFoundException)

我认为还有更多错误,但我现在只记得这些了。显然,我收到了一些我不明白的令人生畏的错误消息。

所以我得出结论,我应该卸载所有 Ruby、Rails、Gems、RVM 和 Homebrew 文件。但即使是这项任务对我来说也非常具有挑战性。 我尝试了许多命令行来尝试删除它们,但是当我在聚光灯下键入“rails”时,我仍然看到很多与 rails 相关的文件。另外,当我在终端上输入“ruby -v”时,它仍然显示 ruby​​ 2.0.0p648 版本。

当我在终端上输入“which ruby​​”时,它会显示“/usr/bin/ruby 当我在终端上输入“which rails”时,它会显示“usr/local/bin/rails

简而言之,我只想删除所有这些与 RoR 相关的文件、软件以及它们的每一个痕迹,然后重新安装干净。请帮帮我。我不想放弃编码。说对不起是不是太晚了?

#This is my .bash_profile

# Enable tab completion
source ~/.profile

# colors!
green="\[\033[0;32m\]"
blue="\[\033[0;34m\]"
purple="\[\033[0;35m\]"
reset="\[\033[0m\]"

# Change command prompt
source ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
# '\u' adds the name of the current user to the prompt
# '\$(__git_ps1)' adds git-related stuff
# '\W' adds the name of the current directory
export PS1="$purple\u$green\$(__git_ps1)$blue \W $ $reset"

alias subl="/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
export RBENV_ROOT=/usr/local/var/rbenv
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
~                                                                               
"~/.bash_profile" 21L, 720C

【问题讨论】:

  • 你能粘贴你的gemfile内容吗
  • 当然。我在聚光灯下输入了“gemfile”。它在不同的目录中显示了五个不同的文件夹,称为“gemfiles”。我假设它们是在我创建新的 Rails 项目时制作的。每个文件夹包含不同的宝石。用户目录中的一个有“alaska”、“rubyracer”和“rubyrhino”。 desktop 目录中的目录有大约七个不同版本的“rails_3_0.gemfile”、“rails_3_1.gemfile”、“rails_3_2.gemfile”等。另一个 gemfiles 文件夹(在 bootstrap-sass 下)有 rails_head.gemfile。 sass_3_3.gemfile、sass_3_4.gemfile、sass_head.gemfile。
  • 在进行捆绑安装时不应使用 sudo。当您想使用已安装的 gem 时,可能是权限问题。我的建议是您需要卸载使用 sudo 命令安装的 gem。然后在不使用 sudo 的情况下重新安装。
  • 是的,我意识到我不应该那样做。你能解释一下我将如何卸载所有 gem 和其他 ruby​​/rails 文件,以便我可以从头开始吗?

标签: ruby-on-rails ruby rubygems rvm


【解决方案1】:

Ruby 默认安装在 OS X 上。所以你不想删除它,有些东西可能需要与 rails 或你的 rails 项目无关的 ruby​​,你应该忽略它。 (你可能不应该使用 Spotlight 来查找开发文件,它只是混淆了什么是安全的,什么是不可以玩的)

其次,你几乎不会在你的 mac 上使用 sudo 进行任何与 rails 相关的工作,所以如果教程希望你运行该命令,请不要。

最后,它可能没有你想象的那么糟糕。所以有2个步骤。 1 - 修复你的 rvm 环境和 2 - 修复你的 gemfile

解决 --开始重新安装RVM

\curl -sSL https://get.rvm.io | bash

现在因为它改变了你的 shell 环境(添加了变量和别名)并且因为你改变了一些不可预测的东西......退出,然后重新登录到你的 mac。

** 现在使用的是哪种红宝石? **

which ruby

如果您的系统仍然显示 /usr/bin/ruby,那么您需要编辑您的 shell 配置文件。因为我不知道你可能做了什么,或者你正在使用什么 shell 环境,所以我会很彻底。任何多余的东西都不会伤害。

您将查看(在您选择的编辑器中)您的主目录中的 4 个隐藏文件

/Users/yourhome/.profile

/Users/yourhome/.bashrc

/Users/yourhome/.zshrc

/Users/yourhome/.bash_profile

如果您使用的是 bash,请确保您的 bash_profile 包含在其中

source ~/.profile

在 bashrc 和 zshrc 文件中确保 rvm 路径存在

导出 PATH="$PATH:$HOME/.rvm/bin"

在 .profile 文件中确保此命令存在

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

-- 保存更改后,注销并重新登录(您不必这样做,但再次,只是彻底)。

完成后,您应该可以安装 ruby​​ -

rvm install ruby-2.2.3

现在如果你说 rvm use ruby​​-2.2.3 然后是哪个 ruby​​,你应该会看到一个指向 rvm 所在的主目录的指针。


* 现在修复 Gemfile * 您有一个编码问题,这就是导致您首先看到斑点的错误的原因。如果你把文件的内容粘贴到这里

(在您的 rails 项目目录中的终端中)

猫宝石文件

将这些内容粘贴到此处即可修复。

【讨论】:

  • 首先,非常感谢您帮助我。好的,我确实成功地重新下载了rvm。之后,当我尝试使用哪个 ruby​​ 时,它仍然显示 /usr/bin/ruby。所以我试着按照你的步骤。当我在终端上输入“/Users/yourhome/.profile”时,它显示 -bash: /Users/myhome/.profile: Permission denied
  • 好的,我刚刚在终端上输入 vim ~/.hiddenfilenames 并查看了所有四个文件,它们看起来还不错。除了 bash_profile 有一堆长代码。由于代码太长,无法粘贴到评论部分,所以我在原文中添加了.bash_profile 代码。请看一看!
  • 如果您的个人资料显示权限被拒绝,那么这意味着您以 root 身份修改了权限,因此您的普通用户无权访问您的适当 shell 环境。解决这个问题 --- sudo chmod 644 ~/.profile -- 然后确保你拥有它,而不是 root --- sudo chown yourusername:staff ~/.profile
  • 在这两个命令行之后,我应该只需在终端上输入“~/.profile”就可以访问吗?我确实执行了这些行,当我输入 "~/.profile" 时,它仍然显示 "-bash: /Users/myusername/.profile: Permission denied"。但我可以通过执行“vim ~/.profile”来访问和查看内容
  • 您永远不会真正“访问”您的 .profile,它主要不是由您使用,而是由系统用于定义您的环境。您是否将您的用户名部分更改为您的实际用户名?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-26
  • 1970-01-01
  • 2011-04-09
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
  • 2012-09-16
相关资源
最近更新 更多