Ubuntu18.04安装rvm、ruby2.6.5和rails5.2.6

系统环境:Ubuntu 18.04

一、安装前准备

1.

sudo apt update

2.

sudo apt upgrade

如果提示abort,忽略。

3.

sudo apt install sqlite3 gnupg curl git libpq-dev

二、安装rvm ruby版本管理器

1.切换管理员模式

sudo su

2.安装软件签名公钥

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

查看是否已安装

gpg --list-keys 409B6B1796C275462A1703113804BB82D39DC0E3
gpg --list-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB


3.安装rvm和ruby的最新版本

不需要最新版本,去掉命令- -ruby

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

“Thanks for installing RVM”表示rvm安装成功,且安装了最新的ruby版本(ruby-3.0.0)

4.启动rvm,查看rvm版本

source /usr/local/rvm/scripts/rvm
rvm -v


5.rvm更新至最新最稳定的状态

rvm get stable --autolibs=enable

6.查看所有ruby版本

rvm list known

三、安装ruby2.6.5和rails5.2.6

1.安装ruby2.6.5

rvm install ruby-2.6.5

(1)设置ruby的默认版本、查看ruby的版本

rvm --default use ruby-2.6.5
ruby -v


(2)安装Nodejs

     我们需要安装nodejs作为ruby的js运行时环境;添加nodejs仓库

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

安装nodejs

sudo apt install -y nodejs

(3)更新gem 

gem是ruby的包管理工具,在我们安装ruby的时候,他已经被自动安装上了。执行命令"gem update –system"会报错,原因是最新的rubygems需要ruby版本>=3.1.0,但是我们需要安装ruby2.6.5的。错误如下:

解决办法:安装ruby2.6.5对应的rubygems版本

wget https://rubygems.org/rubygems/rubygems-3.2.22.tgz

tar -xzvf rubygems-3.2.22.tgz

cd rubygems-3.2.22
ruby setup.rb


(4)查看gem版本  

gem -v

2.安装rails5.2.6

gem install rails -v 5.2.6

(1)查看rails是否安装成功

rails -v

cd 退出管理员模式。

(2)bundle install 出错及解决办法

注意:bundle install时会出现以下错误,原因是我们使用管理员模式安装的,涉及权限问题。

错误信息:You don't have write permissions for the /usr/local/rvm/gems/ruby-2.6.5/wrappers directory.

解决办法:

修改 RVM 目录权限

sudo chown -R $USER:$USER /usr/local/rvm/gems/ruby-2.6.5

重新运行 bundle install

bundle install

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20311.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【WPS+VBA】表格中重复表头与页码的批量删除

向豆包对话可以死磕的,以前问问题我只是根据第一条给出的答案使用。AI还有个优点,不会烦你,只要有问题就接着问,一直问到解决好问题。小编对豆包的连环提问,最终解决了批量删表头页面的问题。 1、豆包对话过程 开始问…

[Windows] Win7也能控制安卓手机屏幕(手机镜像投屏):scrcpy

Win7也能控制安卓手机屏幕(手机镜像投屏):scrcpy 链接:https://pan.xunlei.com/s/VOJGlhQkX9mNqCYsM2cMbYxsA1?pwdm9wq# 系统平台:Windows 7/10/11 (Win7系统需打开“Win7”文件夹进行操作) …

Windows 环境下 Prometheus 安装指南

目录 确认系统环境 下载 Prometheus 解压安装包 配置 Prometheus 启动 Prometheus 访问 Prometheus Web 界面 确认系统环境 确保你的 Windows 系统满足 Prometheus 的运行要求(推荐 Windows 10 或更高版本)。 下载 Prometheus 打开 Prometheus 官…

使用Linux创作第一个小程序--进度条

Linux第一个小程序 - 进度条 储备知识 1.回车换行 回车概念 \r 换行概念 \n 2.缓冲区 sleep 先执行1 后执行2(c语言中是按顺序执行的) 那么在我sleep期间,“Hello World”一定是被保存起来了(缓冲区)。 缓冲区&a…

工业制造能耗管理新突破,漫途MTIC-ECM平台助力企业绿色转型!

在工业制造领域,能源消耗一直是企业运营成本的重要组成部分。随着“双碳”目标的推进,如何实现高效能耗管理,成为制造企业亟待解决的问题。漫途MTIC-ECM能源能耗在线监测平台,结合其自研的硬件产品,为工业制造企业提供…

DFS算法篇:理解递归,熟悉递归,成为递归

1.DFS原理 那么dfs就是大家熟知的一个深度优先搜索,那么听起来很高大尚的一个名字,但是实际上dfs的本质就是一个递归,而且是一个带路径的递归,那么递归大家一定很熟悉了,大学c语言课程里面就介绍过递归,我…

【Java学习】继承

一、继承 子类继承父类,子类这个类变量的引用在原有的指向子类自己类变量空间的原有访问权限上,增加上了父类类变量空间的访问权限,此时子类类变量指向的空间变为了原来子类类变量空间加上父类类变量空间,此时子类类变量空间就变成…

ChatGLM

ChatGLM 实现思想模型结构配置迭代版本 ChatGLM-6B : 清华大学的一个开源、支持中英双语的对话语言模型,基于 General Language Model(GLM)架构,具有 62 亿参数 特点 : 优点 : INT4下,只要 6GB 显存 ; ChatGLM2-6B 序…

网页制作02-html,css,javascript初认识のhtml的文字与段落标记

用一首李白的将进酒,对文字与段落标记进行一个简单的介绍演示: 目录 一、标题字 1、标题字标记h 2、标题字对其属性align 二、文本基本标记 1、字体属性face 2、字号属性size 3、颜色属性 Color 三、文本格式化标记 1、粗体标记 b ,strong 2、…

Vue响应式原理实现总结(数据劫持Object.defineProperty/Proxy+发布订阅者设计模式)

Vue的响应式主要分为数据劫持和发布订阅模式。Vue2用的是Object.defineProperty,而Vue3改用Proxy。数据劫持就是在访问或修改对象属性时进行拦截,然后触发相应的更新。发布订阅模式则是用来收集依赖(比如视图更新函数),当数据变化时通知这些依赖执行。 总结一下,关键点包…

Opencv项目实战:26 信用卡号码识别与类型判定

项目介绍 在日常生活中,信用卡的使用越来越普遍。本项目的主要目标是通过图像处理技术自动识别信用卡号码,并根据信用卡号码的第一个数字判定信用卡的类型(如Visa、MasterCard等)。项目结合了图像预处理、轮廓检测、模板匹配等技…

伯克利 CS61A 课堂笔记 10 —— Trees

本系列为加州伯克利大学著名 Python 基础课程 CS61A 的课堂笔记整理,全英文内容,文末附词汇解释。 目录 01 Trees 树 Ⅰ Tree Abstraction Ⅱ Implementing the Tree Abstraction 02 Tree Processing 建树过程 Ⅰ Fibonacci tree Ⅱ Tree Process…

STL —— 洛谷字符串(string库)入门题(蓝桥杯题目训练)(一)

目录 一、B2109 统计数字字符个数 - 洛谷 算法代码: 1. 引入库和命名空间 2. 主函数 3. 读取输入 4. 变量初始化 5. 遍历字符串 6. 输出结果 7. 返回值 总结 评测记录: 二、B2110 找第一个只出现一次的字符 - 洛谷 方法一:算法代…

【数据分析】1 认识数据分析

一、课程核心内容结构 1. 课程定位 商业数据分析导论课:旨在为初学者奠定扎实的基础,介绍数据分析的基本概念、方法和应用场景。后续模块:包括职业发展路径、技能要求等深入内容,帮助学习者规划未来的职业道路。目标群体&#x…

【Prometheus】prometheus结合domain_exporter实现域名监控

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

【分果果——DP(困难)】

题目 分析 分果果题解参考,下面是补充https://blog.csdn.net/AC__dream/article/details/129431299 关于状态 设f[i][j][k]表示第i个人取到的最后一个糖果编号是j,第i-1个人取到的最后一个糖果编号小于等于k时的最大重量的最小值 关于转移方程 关于 j …

大白话实战Sentinel

Sentinel是SpringCloudAlibaba提供的用来做服务保护的框架,而服务保护的常见手段就是限流和熔断降级。在大型分布式系统里面,由于微服务众多,所以服务之间的稳定性需要做特别关注,Sentinel的核心包就提供了从多个维度去保护服务稳定的策略,而且这些保护策略都可以连接上Se…

解锁机器学习核心算法 | 支持向量机:机器学习中的分类利刃

一、引言 在机器学习的庞大算法体系中,有十种算法被广泛认为是最具代表性和实用性的,它们犹如机器学习领域的 “十大神器”,各自发挥着独特的作用。这十大算法包括线性回归、逻辑回归、决策树、随机森林、K - 近邻算法、K - 平均算法、支持向…

vue脚手架开发打地鼠游戏

游戏设计: 规划游戏的核心功能,如场景、随机出现的地鼠、计分系统、游戏时间限制等。简单设计游戏流程,包括开始界面、游戏进行中、关卡设置(如不同关卡地鼠出现数量、游戏时间等)、关卡闯关成功|失败、游戏结束闯关成…

Web 后端 请求与响应

一 请求响应 1. 请求(Request) 客户端向服务器发送的HTTP请求,通常包含以下内容: 请求行:HTTP方法(GET/POST等)、请求的URL、协议版本。 请求头(Headers):…