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

福雷斯特

在经历了涉及RVM的一系列灾难之后,我的新笔记本电脑上的Ruby和Rails使我完全迷惑了。我卸载了RVM,但是所有路径,版本和权限都被弄乱了。

我搜索了,找不到正确的修复程序。感觉每个解决方案都会使问题变得更糟。

我想重新开始,而不必将计算机重置为出厂设置。如何在不删除计算机的情况下仅重置与Ruby相关的事物(如Ruby,Rails等)?

杰伊·多西(Jay Dorsey)

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

一般事项:

  • 运行env | grep RUBYenv | grep RVM然后查找您可能已设置的所有剩余环境变量
  • 相同env | grep GEM有时您会看到GEM_PATHGEM_HOME等等,但是对于系统ruby来说不是必需的
  • 你里面偷看~/.bash_profile~/.bashrc以及~/.profile文件,看看你是否添加任何东西RVM

如果您正在运行macOS Mojave(我正在与系统进行比较):

which ruby应该回来/usr/bin/ruby如果不是这样,您还有其他干扰。发布那是什么,我们可以将其修复。

跑步/usr/bin/ruby --version应该返回ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]

系统红宝石的权限:

-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

您还需要检查which gem,看看它是否报告/usr/bin/gem权限应与相同/usr/bin/ruby/usr/bin/gem --version应该回来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 bundlergem install bundler(假设您尚未安装新的ruby版本管理器)会产生如下错误(这意味着您正确地重新配置了权限)。

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.

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

这应该使您更接近一点。如果您发现其他任何问题,请发布错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Mac OS High-Sierra 上定义 uniq ruby 版本?

如何在 OS high Sierra 上欺骗外部建议的 Mac 地址

在Mac OS High Sierra上安装GCC

Mac OS High Sierra kext签名

Mac OS High Sierra虚拟主机

如何在Mac OS X Sierra / High Sierra中编辑Vim的配色方案以更好地突出语法?

Mac OS High Sierra:在C ++中无法进行OS升级

如何从 Mac 的终端访问 Jupyter Notebook [将 Mac OS 从 High Sierra 更新到 Catalina 后]

在Mac OS X High Sierra 10.13.2中为spark / hadoop / java / python等设置环境变量

在python 3.5 Mac OS High sierra上安装numpy

Jenkins“创建用户”在Mac OS X High Sierra上失败

Mac OS High Sierra上的Java Driver Firebird 2.5

如何在MAC High Sierra标准安装中使用xdebug

在Mac OS High sierra中将文本转换为毒蛇案例为camelCase

如何在Mac OS X上将VirtualBox端口转发设置为Ubuntu 16.04?

如何在 mac os 上将 Intellij Idea Terminal 设置为 git bash

如何在Mac OS X Sierra上删除多余的python

如何在Mac OS Sierra 10.12上安装Nokogiri

如何在 Mac OS Sierra 终端上保存 Java 路径

如何在Mac OS X上重置$ PATH变量?

在Mac OS X 10.13 High Sierra中无法将/ usr / local设为自制软件

foodcritic (3.0.3) gem 安装在 Mac OS High Sierra 中失败

Mac OS High Sierra 10.13.2-Android模拟器没有互联网连接

Mac OS High Sierra:在 MySql WorkBench v8.0.13 社区中测试连接时拒绝访问

Opencv体系结构cv:imwrite的未定义符号Mac OS X High Sierra

Unity3d无法在Mac OS High Sierra上正常工作

mac OS 在更新到 High Sierra 10.13.1 后寻找不存在的 g++ 路径

如何在Ruby中模仿Finder / Mac OS复制?

如何在Mac OS上设置JButton的背景色