win下安装Redmine常见错误解决方案
成长型公司,最近需要项目管理的软件,所以在windows的服务器上搭建了redmine,其中也遇到了两个坑,现记录下来。
Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统。并且支持多数据库,其实此类软件在linux下搭建更好,windows上坑会略多。

安装流程
先简单描述下安装流程。其实说白了redmine就是一个管理系统,也就是网站,在有相应的环境之下,只要部署到服务器上即可。
- 安装ruby和rails环境。
- 选择一个数据库,可以是mysql、sql server、PostgreSQL等。
- cmd配置,运行server就可以了。
首先需要安装ruby和数据库,这边就不详细说了,需要注意版本号和系统的架构。详细的安装流程可以看官方按安装文档,写的已经非常详细,基本没什么大的坑。
此处安装的版本
- RailsInstaller2.3
- mysql5.7.19
- redmine3.4
安装过程中遇到的error
数据库驱动加载失败。
failed to load libmysql.dll from

大致的错误入上图显示。这个错误是mysql的驱动和ruby的gem不匹配导致的。ruby的mysql2的gem包需要C的connector的。
在执行到bundle install --without development test rmagick
这一步时,自动安装的mysql2 gem包不可用,从而在执行bundle exec rake generate_secret_token时,出现上述错误。所以我们需要删除原来的mysql2的gem包,重新安装。步骤如下:
- 删除原有的gem包,可能会有多个,选择全部删除
gem uninstall mysql2
- 下载mysql的Connector/C,地址如下。下载的时候选择zip包,注意,驱动的版本需要和ruby的版本一致,博主安装的是rubyInstaller,所以是32位的ruby,故下载的驱动也为32位的。同时,现在驱动的版本有两个,6.1.1和6.0.2。请下载6.0.2。下载完成后,解压到本地。
- 手动安装gem包,lib和include的路径为,解压后的路径。
gem install mysql2 --platform=ruby -- '--with-mysql-lib="D:\mysql-connector-c-6.1.11-win32\lib" --with-mysql-include="D:\mysql-connector-c-6.1.11-win32\include"'
- 再执行
bundle exec rake generate_secret_token,没有错误,ok。
SSL验证失败
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed OpenSSL::SSL::SSLError)
这个是ssl的证书问题,导致无法下载gem包,解决方案如下:
- 下载ssl证书http://curl.haxx.se/ca/cacert.pem到本地。
- cmd中添加环境变量
set SSL_CERT_FILE=pem文件路径。
参考文献
- Ruby MYSQL2 gem installation on windows 7
- Installing Redmine
- SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed on Mac
- SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
win下安装Redmine常见错误解决方案的更多相关文章
- Docker在centos下安装以及常见错误解决
系列目录 Docker安装(使用阿里云镜像) Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收 ...
- Elasticsearch学习之ElasticSearch 5.0.0 安装部署常见错误或问题
ElasticSearch 5.0.0 安装部署常见错误或问题 问题一: [--06T16::,][WARN ][o.e.b.JNANatives ] unable to install syscal ...
- php源码编译常见错误解决方案大全
php源码编译常见错误解决方案大全http://www.cnlvzi.com/index.php/Index/article/id/143 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息 ...
- 【win7下安装node.js错误:roling back action】与【"grunt" 不是内部或外部命令】 解决方法
[win7下安装node.js错误:roling back action] 解决方法: Node.js 服务器端的JavaScript Node.js 是一个基于Chrome JavaScript 运 ...
- 在windows server2003下安装Redmine
原文:在windows server2003下安装Redmine 参考文献:Windows下使用_Ruby1.9.3安装RedMine2.2.3 参考资料:http://www.redmine.org ...
- Win下安装MySQL 5.6
最近身边有人要win下安装mysql 去学习数据库,问我如何安装MySQL,其实win 下安装要比Linux简单的多,直接运行安装包下一步安装即可. 1.首先我们运行mysql-installer-c ...
- PHP编译安装时常见错误解决办法,php编译常见错误
PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...
- Ubuntu下postgresql安装及常见错误处理
依赖工具库 注意: 默认用户名是postgres 以下命令是Ubuntu操作系统中的命令 make GCC Zlib 安装命令:sudo apt-get install zlib1g-dev 注意有些 ...
- Ubuntu 搭建svn服务器 ,以及常见错误解决方案
一.安装命令: 1)以root身份登录.执行:sudo su -命令 2)执行安装命令:apt-get install subversion 二.创建项目目录 1)mkdir /home/svn ...
随机推荐
- Spring MVC 表单验证
1. 基于 JSR-303(一个数据验证的规范): import javax.validation.constraints.Min; import javax.validation.constrain ...
- sqlserver 处理百万级以上的数据处理与优化
一处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应 ...
- Android创建窗口(一)创建应用窗口
所谓的窗口(Window)就是一个显示在手机屏幕上可视化视图的一片区域.在Android中窗口是一个抽象的概念,每一个Activity就对应着一个窗口,而所有的窗口都是由视图(View)来呈现,而我们 ...
- iOS 图文并茂的带你了解深拷贝与浅拷贝
一.概念与总结 1.浅拷贝 浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针. 浅拷贝就是拷贝指 ...
- 关于net mail组件ssl端口问题
最近开发一个项目使用到.net mail组件发送邮件.在开发环境中一切正常,可是部署到阿里云服务器上死活发送不出去,一直连接不上,或者报语法错误. 然后是各种折腾,各种测试,最后发现,使用ssl的时候 ...
- docker~学习笔记索引
回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...
- UglyNumber - 找“丑数”
uglynumber的定义是只能被1,2,3,5整除的数 规定1是第一个uglynumber:以此类推,1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 25 27 30 32 ...
- JMeter 监控和记录&常用功能
使用https连接时,如果对应站点的CA 证书错误,会直接报连接不到服务器的错误,org.apache.commons.httpclient.NoHttpResponseException,把错误证书 ...
- IBATIS动态SQL(1)
转:IBATIS动态SQL 直接使用JDBC一个非常普遍的问题就是动态SQL.使用参数值.参数本身和数据列都是动态SQL,通常是非常困难的.典型的解决办法就是用上一堆的IF-ELSE条件语句和一连串的 ...
- Protocol Buffers与FlatBuffers效率对比
Protocol Buffers是Google跨语言.跨平台的通用序列化库.FlatBuffers同样出自Google,而且也跨语言跨平台,但更强调效率,专门为游戏开发打造.在游戏界混了几年,各种各样 ...