资讯专栏INFORMATION COLUMN

Rails 3 升级 Rails 4 中遇到的问题及解决方法

史占广 / 3392人阅读

摘要:的问题当出现不能的时候,我也尝试过这种提示里面的命令,可是还是不能解决这个问题。解决方法一般自己机器上面的都是测试数据,所以可以直接删除掉旧的数据库文件。解决方法然后就可以该干嘛干嘛了。

有些出现的问题其实是不懂正确的流程,都是在试错,可是还是学到了很多东西,写下了,希望对我和大家都有帮助。

Homebrew 的问题

当我去运行brew update的时候出现错误untracked working tree files,因为homebrew是用Git去更新的,所以如果目录中出现untracked files就会导致不能更新。然后我看了homebrew的Common Issues文档。

解决方法

其实我对Git还算了解,可是就不知道homebrew的working tree files在哪里,所以下面的东西就直接解决了我的问题。

This is caused by an old bug in the update code that has long since been fixed. However, the nature of the bug requires that you do the following:

cd $(brew --repository)
git reset --hard FETCH_HEAD

If brew doctor still complains about uncommitted modifications, also run this command:

cd $(brew --repository)
git clean -fd
PostgreSQL 的问题

当出现pg gem不能bundle install的时候,我也尝试过gem install pg -- --with-pg-config这种提示里面的命令,可是还是不能解决这个问题。然后我就用homebrew把postgresql 从9.2.3升级到了9.3.2

后果

这样做的直接后果就是postgresql不能正常启动,出现了一下的提示信息:

FATAL: database files are incompatible with server DETAIL: The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.3.2.

原来postgresql升级以后不能兼容原来的数据文件,就是个悲剧啊。看了一下postgresql的升级文档,PostgreSQL major versions are represented by the first two digit groups of the version number,原来前两位数字都是主版本号。

解决方法

一般自己机器上面的都是测试数据,所以可以直接删除掉旧的数据库文件。运行一下命令就可以了。

rm -rf /usr/local/var/postgres
initdb -D /usr/local/var/postgres

如果你想要以前的数据文件,特别如果遇到在production server上升级了postgresql,那么你就需要使用pg_dump出原来的数据文件,然后就要用到pg_upgrade啦。具体方式可以查看pg_upgrade的文档。

Rails Gem PG 的问题

这个时候pg已经成功安装成功了,可是在rake db:create的时候又出现关于postgresql的问题了:

Library not loaded: libpq.5.6.dylib

凭借自己的经验,觉得应该是postgresql中lib的这一个文件没有被rake的时候加载到。

解决方法
ln -s /usr/local/Cellar/postgresql/9.3.2/lib/libpq.5.6.dylib /usr/local/lib/libpq.5.6.dylib

然后就可以该干嘛干嘛了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38932.html

相关文章

  • Passenger + Nginx + Rails 生产环境配置

    摘要:设置密码将用户加入群组退出登录,使用新用户登录。所幸,提供直连,在配置里面只限定本地连接基本上还是可以保证数据安全的,所以目前就采用直连的方式。决定转战其他的服务器。 本文中我将描述在 DigitalOcean 上配置 Rails 生产环境的过程,希望对有相同需求的人一定的帮助 0x01. 创建服务器 如果你刚刚购买了 DigitalOcean 的服务,先添加一台机器,小应用的话 ...

    kid143 评论0 收藏0
  • 在阿里云 (aliyun) 服务器上搭建Ruby On Rails生产环境

    摘要:最近总是在配置阿里云的服务器,遇到不少问题,现小结一下,供大家参考阿里云的一键安装全环境下载一键安装全环境压缩包上传至服务器,解压执行脚本,具体步骤详见这里任意选择一种方法执行脚本方法一方法二安装与指定的版本安装与指定的版本注意安 最近总是在配置阿里云的服务器,遇到不少问题,现小结一下,供大家参考~~ 1、阿里云的一键安装web全环境 下载一键安装web全环境 sh.zip 压缩...

    Snailclimb 评论0 收藏0
  • 参加第二届前端开发者年度大会总结

    摘要:代表公司去参加今年的第二届前端开发者年度大会,散会的时候,技术老大问我,今天感觉怎么样,有什么收获,当时就零零碎碎的回答了一些,不算完美趁着还记得点什么,在这里做个自我回顾总结,谨代表个人见解,有不当之处,或若涉及图片隐私或者其它问题,烦请 代表公司去参加今年的 第二届前端开发者年度大会,散会的时候,Team 技术老大问我,今天感觉怎么样,有什么收获,当时就零零碎碎的回答了一些,不算完...

    solocoder 评论0 收藏0

发表评论

0条评论

史占广

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<