首页 > 编程语言 >mac 系统更新ruby

mac 系统更新ruby

时间:2024-10-20 16:58:50浏览次数:6  
标签:opt -- ruby 更新 mac export usr local

mac 系统更新ruby

mac 系统更新遇到的机器坑爹的情况:

无法更新ruby 的情况,就是更新的时候提示版本过低无法更新

前提知晓:

Homebrew

Homebrew 是 macOS 和 Linux 系统上的一个流行的包管理器,用于简化软件的安装、管理和配置。它允许用户通过简单的命令行界面来安装、更新和卸载各种软件包(包括命令行工具、库和应用程序)。以下是关于 Homebrew 的一些重要信息:

gem

是 Ruby 编程语言的一个软件包管理系统,用于分发和管理 Ruby 库和应用程序的组件。以下是对 gem 的一些重要说明:

更新的几个方式:

gem update --system​ 行直接更新

Updating rubygems-update
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

alerson@192 opt % sudo  gem update --system
Password:
Updating rubygems-update
ERROR:  Error installing rubygems-update:
	There are no versions of rubygems-update (= 3.5.22) compatible with your Ruby & RubyGems
	rubygems-update requires Ruby version >= 3.0.0. The current ruby version is 2.6.10.210.
ERROR:  While executing gem ... (NoMethodError)
    undefined method `version' for nil:NilClass

坑爹, 要更新直接报错 版本不支持

直接安装插件 gem install rubygems-update​ 也是一样版本过低

RVM(Ruby Version Manager)来管理和指定不同的 Ruby 版本以及与之关联的 gem 版本。以下是如何指定 gem 使用特定 Ruby 版本的方法:

安装依赖项

在安装 RVM 之前,您可能需要安装一些依赖项,尤其是一些用于构建 Ruby 的工具。运行以下命令:

brew install gpg
brew install curl

接下来,您可以通过以下命令安装 RVM:

\curl -sSL https://get.rvm.io | bash -s stable

上面⬆️ : 直接报错:

curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 8 ms: Couldn't connect to server

官网:https://rvm.io/

image

添加了GPG key :

gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

报错没发现gpg2,改成gpg

gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

成功后():

alerson@192 opt % gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
gpg: 密钥 105BD0E739499BDB: 1 个重复签名被移除
gpg: 密钥 105BD0E739499BDB:“Piotr Kuczynski <[email protected]>” 未改变
gpg: 密钥 3804BB82D39DC0E3:“Michal Papis (RVM signing) <[email protected]>” 未改变
gpg: 处理的总数:2
gpg:              未改变:2d方式

在次运行:\curl -sSL https://get.rvm.io | bash -s stable 依旧报错 :

alerson@192 opt % \curl -sSL https://get.rvm.io | bash -s stable
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 1 ms: Couldn't connect to server

没救了--0-

使用homebrew 安装 ruby

安装成功了

brew upgrade ruby 
==> Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/api/formula.jws.json
##O=-#     #                                                                                                                                                                                
==> Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/api/cask.jws.json

Warning: ruby 3.3.5 already installed

-- 欣喜若狂;

但是ruby -v 还是版本2

 ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin23]

额 好难也

系统的ruby 和homebrew 安装的ruby 各管各的。。。。

接下来的思路就是: 把homebrew 安装的ruby识别到:

brew link ruby ​ 连接brew 的 ruby

alerson@192 opt % brew link ruby                                                                                                             
Warning: Refusing to link macOS provided/shadowed software: ruby
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"

是不是 一下子豁然开朗 直接运行上面着三个命令就可以了, 但是实际还是有坑:

执行了:

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc

export LDFLAGS="-L/usr/local/opt/ruby/lib"

export CPPFLAGS="-I/usr/local/opt/ruby/include"

之后在此ruby -v 依旧是旧版本:

image

原因是。。。当我们进入/usr/local/opt brew 的软件装路经下会发现。。。 没有ruby这个文件夹, 只有ruby@2, [email protected]

image

最后就是把上面要执行的内容 路经改成[email protected]

echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc

export LDFLAGS="-L/usr/local/opt/[email protected]/lib"

export CPPFLAGS="-I/usr/local/opt/[email protected]/include"

最后 在运行 :source ~/.zshrc​ 用来生效配置

source ~/.zshrc   # 如果你是使用 zsh
# 或者
source ~/.bash_profile  # 如果你是使用 bash

如果是用bash:

编辑 ~/.bash_profile​ 或 ~/.bashrc​ 文件 进行配置

总结

用homebrew 安装新版本ruby 后续配置链接

安装:

brew upgrade ruby 

链接:

brew link ruby 

根据提示查看路经(brew link ruby 的时候会提示,需要查看对应路经 修改ruby的文件夹)

echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc

export LDFLAGS="-L/usr/local/opt/[email protected]/lib"

export CPPFLAGS="-I/usr/local/opt/[email protected]/include"

最后生效配置:

source ~/.zshrc   # 如果你是使用 zsh
# 或者
source ~/.bash_profile  # 如果你是使用 bash

标签:opt,--,ruby,更新,mac,export,usr,local
From: https://www.cnblogs.com/alerson/p/18487510/mac-system-update-ruby-z1iou4y

相关文章

  • 使用 Query Builder 更新
    使用QueryBuilder更新你可以使用QueryBuilder创建UPDATE查询。例如: Copyimport{getConnection}from"typeorm";awaitgetConnection().createQueryBuilder().update(User).set({firstName:"Timber",lastName:"Saw"}).where(&......
  • TD导航zlibrary镜像网站最新国内可访问地址(2024更新)
    TD导航是一个综合性的网址导航网站,它致力于为用户提供便捷、高效的上网体验。在这个平台上,用户可以轻松找到各类热门网站和实用工具,无论是新闻资讯、社交娱乐、购物消费,还是学习教育、工作办公等领域,TD导航都提供了丰富的资源链接。zlibrary镜像网址zlibrary最新国内可访问:h......
  • ubuntu更新Cmake
    CMake先验知识创建软链接如何删除符号链接如何找出失效链接并将其删除PATH优先级查看当前CMake命令的位置高版本CMake安装参考先验知识创建软链接ln-s<pathtothefile/foldertobelinked><thepathofthelinktobecreated>ln是链接命令,-s指定此......
  • 随意门导航zlibrary镜像地址入口(2024更新)
    随意门导航是一个集实用性与便捷性于一体的综合性网址导航网站,它为广大网民提供了一个快速访问各类热门网站和实用工具的便捷平台。在这个网站上,你可以轻松找到涵盖电子书下载、学术资源、生活工具、常用查询以及音乐在线听等多个领域的网址链接。随意门导航的设计简洁明了,用......
  • macos 在使用 iphone 热点网络时候遇到的 SSL 连接失败的问题
    ~brewinstallwget==>Downloadinghttps://ghcr.io/v2/homebrew/core/wget/manifests/1.24.5Alreadydownloaded:/Users/z/Library/Caches/Homebrew/downloads/885bce6d1c81de373d8479681e3ccbb748be9eca29a8a3b3c95e6479a98458bd--wget-1.24.5.bottle_manifest.js......
  • Spacy的一些用法留档(有待更新)
    Spacy的一些用法:#分词nlp=spacy.load("zh_core_web_sm")doc=nlp(u'中国是世界上最大的发展中国家')fortokenindoc:print(token)#另一种分词(不分割特有名词)nlp=spacy.load("zh_core_web_sm")#添加自定义词汇nlp.tokenizer.pkuseg_update_user_dict(......
  • Z-Library最新官方入口国内可用网址/电脑手机Ipad安装包(2024持续更新)
    zlibrary数字图书馆介绍Z-library被称为全球最大的数字图书馆,里面包含9,826,996本电子书,84,837,646篇期刊文章。从各种知名文学著作,理工学科,人文艺术、到学术论文等应有尽有!支持PDF、epub、mobi等多种格式图书资源下载绝对是你找书的不二选择。zlibrary数字图书馆镜像网址z......
  • 【10月持续更新】国内ChatGPT-4中文版镜像网站整理合集
    ​一、GPT工具跟国内AI大模型整理(一)、GPT国内1.https://snakegpt.work ChatGPT中文版,支持GPT3.5/4/4o,可以用MJ绘画2.GPTCAT  GPT官网逆向版,支持GPT4o的实时语音对话,支持GPTo1-preview3.https://ai-panda.xyz/4.GPTDOG(二)、国内大模型1.文心一言:https://yiyan.baidu.com......
  • 操作系统_Paxos协议实现数据一致性更新
    一、实验环境系统:Windows10编译软件:VisualStudio2022语言:C二、内容假设由5台服务器Ai(i=1,2..5)组成集群,每份数据在5台服务器中各保留一个副本。当客户端C1和C2同时修改存储在集群中的同一个数据时,由于网络修改延迟的存在无法保证两个数据的请求到达每台服务器的先后顺序。......
  • Adobe Animate (AN) 多媒体创作和电脑动画程序软件下载安装(附win/mac安装包)
    软件简介AdobeAnimate,简称AN,前身为AdobeFlashProfessional,是Adobe公司开发的一款功能强大的多媒体创作和电脑动画程序。它广泛应用于动画制作、广告制作、游戏开发以及多媒体内容创作等多个领域。AdobeAnimate提供了丰富的绘图工具、动画骨骼工具、时间轴和图层管理等功能......