在macOS Catalina 10.15.1上,我有一些Ruby gem,其中安装了两个版本,一个版本位于以下两个目录中的每个目录下:
较旧:
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0
较新:
/Library/Ruby/Gems/2.6.0/gems
我想从/System/…
下卸载旧版本,但是,当我运行以下命令时,出现相关错误:
$ sudo gem uninstall CFPropertyList --version 2.3.6
ERROR: While executing gem ... (Gem::InstallError)
CFPropertyList is not installed in GEM_HOME, try:
gem uninstall -i /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 CFPropertyList
$ sudo gem uninstall -i /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 CFPropertyList
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.
如果我运行没有sudo
的最后一条命令,我也会遇到相同的错误。
如何删除旧版本的宝石?
在相关说明中,我有一些仅位于/System/…
目录下的宝石,而不是/Library/…
目录下的宝石。我如何将它们从前者转移到后者?
答案 0 :(得分:1)
为什么不使用版本管理器并且完全不用担心系统ruby / gem?您可以例如尝试RVM。参见install instructions here
或者Churby参见https://github.com/postmodern/chruby
更新:请勿与操作系统安装的系统库混为一谈。他们可能在那里是有充分理由的。如果您不知道自己在做什么,则可能会在某处破坏某些东西。对于系统和安全更新,请在发布它们时坚持使用OS系统更新和补丁。