在经历了涉及RVM的一系列灾难之后,我的新笔记本电脑上的Ruby和Rails使我完全迷惑了。我卸载了RVM,但是所有路径,版本和权限都被弄乱了。
我搜索了,找不到正确的修复程序。感觉每个解决方案都会使问题变得更糟。
我想重新开始,而不必将计算机重置为出厂设置。如何在不删除计算机的情况下仅重置与Ruby相关的事物(如Ruby,Rails等)?
在开始所有这些操作之前,我将关闭并重新打开您的终端窗口,以确保您没有加载任何旧的环境变量。
一般事项:
env | grep RUBY
,env | grep RVM
然后查找您可能已设置的所有剩余环境变量env | grep GEM
。有时您会看到GEM_PATH
,GEM_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 bundler
和gem 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] 删除。
我来说两句