Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Mac OS High Sierra上将任何与Ruby相关的设置重置为出厂设置_Ruby_Macos - Fatal编程技术网

如何在Mac OS High Sierra上将任何与Ruby相关的设置重置为出厂设置

如何在Mac OS High Sierra上将任何与Ruby相关的设置重置为出厂设置,ruby,macos,Ruby,Macos,在我的新笔记本电脑上发生了一系列涉及RVM、Ruby和Rails的不幸之后,我完全不知所措。我卸载了RVM,但所有的路径、版本和权限都乱七八糟 我搜索了一下,没有找到正确的修复方法。感觉每个解决方案都会使问题变得更糟 我想重新开始,而不必将计算机重置为出厂设置。如何在不删除我的计算机的情况下,只重置Ruby相关的东西,如Ruby、Rails等?rm-rf~/.rvm,然后编辑~/.bash\u profile以删除source$HOME/.rvm/scripts/rvm 然后,您可以按照上的详细

在我的新笔记本电脑上发生了一系列涉及RVM、Ruby和Rails的不幸之后,我完全不知所措。我卸载了RVM,但所有的路径、版本和权限都乱七八糟

我搜索了一下,没有找到正确的修复方法。感觉每个解决方案都会使问题变得更糟


我想重新开始,而不必将计算机重置为出厂设置。如何在不删除我的计算机的情况下,只重置Ruby相关的东西,如Ruby、Rails等?

rm-rf~/.rvm
,然后编辑
~/.bash\u profile
以删除
source$HOME/.rvm/scripts/rvm


然后,您可以按照上的详细安装说明从头开始使用RVM。

在开始所有这些操作之前,我会关闭并重新打开您的终端窗口,以确保没有加载任何旧的环境变量

一般事项:

  • 运行
    env | grep RUBY
    env | grep RVM
    并查找可能已设置的任何剩余环境变量
  • 同样适用于
    env | grep GEM
    。有时您会看到
    GEM\u路径
    GEM\u主页
    ,等等,但这些不是系统ruby所必需的
  • 查看您的
    ~/.bash_配置文件
    ~/.bashrc
    ~/.profile
    文件,查看是否添加了任何rvm内容
如果您正在运行macOS Mojave(我正在与我的系统进行比较):

哪个ruby
应该返回
/usr/bin/ruby
。如果它没有,你就有别的干扰。贴出那是什么,我们可以把它修好

运行
/usr/bin/ruby--version
应返回
ruby 2.3.7p456(2018-03-28修订版63024)[universal.x86\u 64-darwin18]

系统ruby的权限:

-r-xr-xr-x  1 root  wheel  52016 Nov 30 02:38 /usr/bin/ruby
这应该类似于
sudo chmod 555/usr/bin/ruby
,如果您的情况不同,则可以修复此问题。如果您有不同的所有者,则需要
sudo chown root:wheel/usr/bin/ruby

您还需要检查
哪个gem
,并查看它是否报告
/usr/bin/gem
。权限应与
/usr/bin/ruby
相同
/usr/bin/gem——版本
应返回
2.5.2.3

运行
/usr/bin/gem env
将返回类似于下面的内容。将
jay
(我的计算机用户)替换为您的

RubyGems Environment:
  - RUBYGEMS VERSION: 2.5.2.3
  - RUBY VERSION: 2.3.7 (2018-03-28 patchlevel 456) [universal.x86_64-darwin18]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.3.0
  - USER INSTALLATION DIRECTORY: /Users/jay/.gem/ruby/2.3.0 # this doesn't matter much
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - SPEC CACHE DIRECTORY: /Users/jay/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-18
  - GEM PATHS:
     - /Library/Ruby/Gems/2.3.0
     - /Users/jay/.gem/ruby/2.3.0
     - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0
  - GEM CONFIGURATION:
     - :update_sources => false
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["https://rubygems.org/"]
     - "benchmark" => true
     - "gem" => "--document=yri"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/bin
     - /Users/jay/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /opt/X11/bin
从这里,您可能需要查看两个目录:

运行
ls-al/Library/Ruby/
。您应该看到:

drwxr-xr-x   3 root  wheel    96 Aug 17 18:59 Gems
drwxr-xr-x   3 root  wheel    96 Aug 17 18:59 Site
您可能需要chmod/chown这些目录中的每一个(对于递归,使用
-R

完成后,请注意运行
/usr/bin/gem install bundler
gem install bundler
(假设您没有安装新的ruby版本管理器)会产生如下错误(这意味着您正确地重新配置了权限)

您将看到一些教程提到更改这些权限,或者运行sudo安装gems,但我不建议这样做。我最喜欢的ruby版本管理器可能值得一看。您将安装内核和


这会让你更靠近一点。如果您看到任何其他问题,请发布错误。

如上所述,我已经卸载了RVM。这不是我的问题-我想完全重置ruby以及与之相关的一切,使其成为“开箱即用”的方式。RVM早已不存在,但其他一些微妙的东西都出了问题。@anothermh建议的方法会很好地工作。什么“微妙”的事情与你有关?我已经做了这些事情,我不确定它们在RVM已经以这种方式卸载时有何帮助。我在路径、权限、bundler等方面遇到了一系列问题和错误。我花了几个小时阅读溢出线程,并在终端上进行了尝试,我相信没有简单的解决方案。这就是为什么我希望在上面的问题上得到帮助。你问题中的详细程度让我相信你可能不知道如何正确地删除RVM,因为你说你删除了它,但是Ruby和Rails(这是一系列的宝石,再次表明你在这方面没有专业知识)仍然存在问题。在Stackoverflow上,您需要具体说明您遇到的问题。“混乱”、“不幸”、“失常”、“困惑”这些词完全没有意义。说问题变得更糟,但不描述问题意味着在你自助之前没有人能帮助你。我是*具体的*-我问了这个问题:“我想重新开始,而不必将我的计算机重置为出厂设置。我如何在不擦除我的计算机的情况下重置与ruby相关的东西(ruby、rails等)我得到的是居高临下、对立,以及对语言与意义的关系本质的一些相当明显的困惑。重新安装操作系统似乎是显而易见的答案。你为什么不想那样做?或者,假设您有备份,将其恢复到进行要撤消的更改之前的状态。我看你没有太多选择。我想这对我来说并不明显,这就是我问你的原因。但是如果没有办法重置ruby等,那么我想我必须这么做。谢谢你的评论。这个问题问得不好。你让我们想象你可以做的每一件事,而不告诉我们任何有用的东西。苹果安装Ruby系统供自己使用;可以针对它运行脚本,但修改它会破坏苹果安装的进程。相反,始终使用诸如rbenv、RVM或asdf之类的沙盒管理器来安装单独的、用户可修改的Ruby。而且,永远不要使用
sudo
,除非您确切知道它的功能和命令的作用
sudo
就像外科医生的手术刀,可能会在坏人手中造成重大伤害,尤其是在处理系统文件时。macOS Catalina有非常不同的权限限制,因此我怀疑这不起作用
Fetching: bundler-1.17.2.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.