Rails程序迁移时遇到的问题

简介: 今天把程序从一个机器拿到另外一个机器上时,在执行rake db:migrate时,出现了以下问题: Missing the Rails 2.0.2 gem. Please `gem install -v=2.

今天把程序从一个机器拿到另外一个机器上时,在执行rake db:migrate时,出现了以下问题:

Missing the Rails 2.0.2 gem. Please `gem install -v=2.0.2 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

很显然是版本不兼容的问题。想起来前几天运行例子时,就出现过类似问题,但是当时提示版本是2.1.2,于是就按照提示升级了rails。这次又碰上了,那就用老办法解决,运行命令:

gem install -v=2.0.2 rails

更悲惨的结果出现了,给出了下面的提示信息:

/usr/bin/gem:10:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

gem不能运行了。于是Google一番,发现都是老外的信息,其中有人写到,运行如下命令:

apt-get remove ruby*

apt-get clean

apt-get instal ruby rubygems

可是在执行过上面的命令后,依然如故,gem命令仍然不能运行。

 

最后正解如下:

编辑/usr/bin/gem文件,在其中新增加一行:

require 'rubygems/gem_runner'

然后注释掉接下来的一行:

Gem.manage_gems --> #Gem.manage_gems

运行顺利通过。

 

于是重新运行

gem install -v=2.0.2 rails

程序顺利启动。

 

在最初的提示中有“注释掉RAILS_GEM_VERSION,从而使用最新版本的rails”,但是我在environment.rb中,加上注释后,并不能解决问题。原因可能是,rails不是通过gem安装,缺少了一些必要的依赖。

目录
相关文章
|
Ubuntu 网络协议 网络安全
如何在外SSH远程连接Ubuntu系统【无公网IP】
如何在外SSH远程连接Ubuntu系统【无公网IP】
472 0
|
10月前
|
人工智能 数据可视化 数据处理
从0到1只需“拖一拖”,开发时间按秒算——低代码到底有多牛
低代码平台正颠覆传统软件开发模式,通过可视化开发、模块化组件和自动化工具,将复杂开发过程大大简化。企业能以更低的成本和更快的速度(从数月缩短至几天甚至几小时)将创意转化为数字化产品。低代码平台支持拖拽式操作、实时预览、自动代码生成和快速部署,显著提高开发效率,满足多样化的业务需求。其核心引擎(如SQL引擎、图表引擎等)不断升级,增强数据处理能力和跨平台兼容性。此外,丰富的插件生态和开放架构进一步扩展了平台的适用范围,为企业提供更高效的技术解决方案,推动数字化转型。 未来,低代码将与AI、物联网等技术深度融合,成为企业创新和市场响应的关键驱动力。
|
数据采集 人工智能 自然语言处理
文档智能 & RAG让AI大模型更懂业务
文档智能 & RAG让AI大模型更懂业务
|
编解码 边缘计算 自然语言处理
2024年5月计算机视觉论文推荐:包括扩散模型、视觉语言模型、图像编辑和生成、视频处理和生成以及图像识别等各个主题
五月发布的计算机视觉领域重要论文涵盖了扩散模型、视觉语言模型、图像生成与编辑及目标检测。亮点包括:1) Dual3D提出双模式推理策略,实现高效文本到3D图像生成;2) CAT3D利用多视图扩散模型创建3D场景,仅需少量图像;3) Hunyuan-DiT是多分辨率的中文理解扩散Transformer,可用于多模态对话和图像生成;4) 通过潜在扩散模型从EEG数据重建自然主义音乐,展示复杂音频重建潜力。此外,还有关于视觉语言模型和图像编辑的创新工作,如BlobGEN用于合成具有控制性的图像。
588 3
|
移动开发 前端开发 API
uniapp实现条码扫描 可开闪光灯,原生H5调用,不需要任何sdk。
一维码识别功能使用的是Quagga这个库。调用摄像头使用的 navigator.mediaDevices.getUserMedia 这个H5的api。通过 video 和 canvas 把摄像头获取到的数据展现到页面上,同时调用监听Quagga解析。
1468 0
|
数据安全/隐私保护
URI 和URL 的区别是什么?
大家好,我是阿萨。昨天学习了HTTP方法有哪些?了解了HTTP的最基本的方法。昨天讲解Head 方法的时候说返回URI 相关内容。阿萨问大家一个问题:URI 是什么?
442 0
|
缓存 监控 安全
Spring Boot框架基础介绍
Spring Boot 是一款基于 Spring 框架的开源应用程序开发工具,它旨在简化 Spring 应用程序的配置和开发过程。Spring Boot 提供了一种简单的方式来创建可独立运行的、生产级别的应用程序,并在需要时进行部署。Spring Boot 在微服务架构和云计算环境下得到了广泛应用,本文将介绍 Spring Boot 的特性、优势以及使用方法。
3634 0
|
小程序 测试技术 数据安全/隐私保护
uni-app:小程序发布检查步骤及注意事项
本篇最好放到项目的【README.md】文件中,方便每次发布的时候检查纠错,毕竟好记性不如烂笔头。而且其他开发者帮忙修改bug、发布新版本的时候,只需要根据这个事项就能实现整个流程的提审发布,提高效率。
547 0
uni-app:小程序发布检查步骤及注意事项
|
Java Maven
SpringBoot + thymeleaf foreach踩坑记录
话说自从前后端分离之后,前后端放在一起的场景就很少了,最近写个简单的后台,突然踩坑了,使用themeleaf模板渲染时,发现th:each来遍历生成表单数据,一直抛异常,提示Property or field 'xxx' cannot be found on null 接下来看一下这个问题到底是个什么情况
369 0
SpringBoot + thymeleaf foreach踩坑记录
|
SQL NoSQL Java
SpringBoot从入门到精通(三十一)Spring Boot项目打包、发布与部署
我们知道Spring Boot使用了内嵌容器,因此它的部署方式也变得非常简单灵活,一方面可以将Spring Boot项目打包成独立的jar或者war包来运行,也可以单独打包成war包部署到Tomcat容器中运行,如果涉及到大规模的部署Jinkins成为最佳选择之一。 接下来,开始介绍Spring Boot项目是如何打包、发布的。
SpringBoot从入门到精通(三十一)Spring Boot项目打包、发布与部署

热门文章

最新文章