don‘t have write permissions for the /System/Library/Frameworks/Ruby.framework

don’t have write permissions for the /System/Library/Frameworks/Ruby.framework
sudo gem install sigh或sudo gem install -n /usr/local/bin cocoapods --pre出现:


apple@CQIMAC-L1A9Q05R ~ % sudo gem update --system
Password:
Updating rubygems-update
Fetching rubygems-update-3.4.14.gem
Successfully installed rubygems-update-3.4.14
Parsing documentation for rubygems-update-3.4.14
Installing ri documentation for rubygems-update-3.4.14
Installing darkfish documentation for rubygems-update-3.4.14
Done installing documentation for rubygems-update after 189 seconds
Parsing documentation for rubygems-update-3.4.14
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 3.4.14
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/gem
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `initialize'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `open'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `block in copy_file'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `open'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `copy_file'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:492:in `copy_file'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:860:in `block in install'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1558:in `block in fu_each_src_dest'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1574:in `fu_each_src_dest0'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1556:in `fu_each_src_dest'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:856:in `install'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/commands/setup_command.rb:267:in `block (2 levels) in install_executables'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/commands/setup_command.rb:251:in `chdir'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/commands/setup_command.rb:251:in `block in install_executables'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/commands/setup_command.rb:248:in `each'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/commands/setup_command.rb:248:in `install_executables'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/commands/setup_command.rb:165:in `execute'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/command.rb:327:in `invoke_with_build_args'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/command_manager.rb:252:in `invoke_command'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/command_manager.rb:192:in `process_args'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/command_manager.rb:150:in `run'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.14/lib/rubygems/gem_runner.rb:51:in `run'
	setup.rb:33:in `<main>'

执行:pod --version

apple@CQIMAC-L1A9Q05R ~ % pod --version
/Library/Ruby/Site/2.6.0/rubygems.rb:263:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)
	from /Library/Ruby/Site/2.6.0/rubygems.rb:282:in `activate_bin_path'
	from /usr/local/bin/pod:23:in `<main>'

解决办法:
1、将终端从从 bash 切换到 zsh(之前不知道啥时候设置成了bash,后来查询资料mac终端一般都是默认使用的是zsh)

如何切换参考:https://www.jianshu.com/p/261207b75568
2、执行 sudo 以及 -n /usr/local/bin 后再执行sudo gem install sigh安装依然报没权限
3、查阅相关资料说是mac自带的ruby种新版本系统不允许做授权之类操作,然后执行

ruby -v

查看到系统自带的ruby2.6版本

apple@CQIMAC-L1A9Q05R ~ % ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]

接着执行
which ruby
查看到2.6版本的ruby目录为

apple@CQIMAC-L1A9Q05R ~ % which -a ruby
/usr/bin/ruby

以上问题通过修改系统文件夹权限无法解决,只能使用下面的方案:安装Hombrew,通过它安装ruby,然后修改环境变量让它成为当前的ruby。

1.继续下载Hombrew(国内镜像地址安装命令:"$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)")。
在这里插入图片描述
2.通过Hombrew安装ruby

brew install ruby

在这里插入图片描述
安装到最后有一段命令提示语(echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc),安装成功执行该命令修改环境变量。
在这里插入图片描述
查看当前的ruby,最后执行更新cocoapods(sudo gem install -n /usr/local/bin cocoapods --pre)
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值