zsh: /usr/local/bin/lolcat: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/

zsh: /usr/local/bin/lolcat: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: no such file or directory

关键词: macos zsh lolcat ruby

一、环境

macOS Catalina 10.15.6
目前用的终端是zsh,之前用的是bash,在系统升级后自动换成了zsh也就一直用着了。我在Mojave的时候安装了lolcat,现在发现不能用了, lolcat --help 的错误就是标题

二、后记写在前

在我成功安装了lolcat之后删除再执行 gem install lolcat ,发现成功安装上了,个人感觉应该是ruby版本的问题

三、解决方案

直接执行 gem install lolcat -n /usr/local/bin,如果不行再一步一步往下看
重新安装 gem install lolcat发现新错误

ERROR: While executing gem … (Gem::FilePermissionError)
You don’t have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

更新一下 sudo gem update --system

https://blog.csdn.net/u013712343/article/details/106274756/ 说明可能是系统升级的问题,但是继续报错

ERROR: While executing gem … (Errno::EPERM)
Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/gem

版本有点低 ruby --version

ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]

更新ruby brew install ruby

By default, binaries installed by gem will be placed into:
/usr/local/lib/ruby/gems/3.1.0/bin
You may want to add this to your PATH.
ruby is keg-only, which means it was not symlinked into /usr/local, because macOS already provides this software and installing another version in parallel can cause all kinds of trouble.
If you need to have ruby first in your PATH, run:
echo ‘export PATH=“/usr/local/opt/ruby/bin:$PATH”’ >> ~/.zshrc
For compilers to find ruby you may need to set:
export LDFLAGS=“-L/usr/local/opt/ruby/lib”
export CPPFLAGS=“-I/usr/local/opt/ruby/include”

根据提示依次执行

  1. cd
  2. echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
  3. export LDFLAGS="-L/usr/local/opt/ruby/lib"
  4. export CPPFLAGS="-I/usr/local/opt/ruby/include"
先删一下 gem uninstall lolcat,输入 y (这步应该是选做的,不删也无所谓)

Remove executables:
lolcat
in addition to the gem? [Yn] y
Removing lolcat
Successfully uninstalled lolcat-100.0.1

重新安装 gem install lolcat -n /usr/local/bin
看看有没成功 lolcat --version ; lolcat --help

lolcat 100.0.1 ©2011 moe@busyloop.net

四、总结

https://linux.cn/article-5798-1.html 我在没有更新ruby的时候试过这篇博客的方法,没试通

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值