Redmine部署文章:
上一篇文章我写了Redmine怎样部署(点这里直达上一篇文章),这一篇就写一下在Redmine部署中遇到过的坑,这只是一部分问题,还有一些当时未来得及记录。
问题1.安装rubyinstall-devkit-2.6.6-2-x64.exe无法下载
https://rubyinstaller.org/downloads/网站总是不能,且下载经常失败,犹如薛定谔的猫,成不成功看天意。
解决方案:在下载的版本上右键复制下载链接,打开迅雷粘贴下载。
如果不想安装迅雷(毕竟迅雷也是个出了名的流氓软件,有弹窗,关不掉等等问题)那就多点两次,总能成功(这种方法的话劝你有个好脾气)。
问题2.安装错了ruby的版本
因为redmine的每个版本之间并不是兼容的,使用的ruby版本也不一样,刚开始安装了最新的Ruby的版本
结果才发现redmine-4.1.1-1版本的Ruby版本要求是>=2.3.0,<2.7.0
为了偷懒就直接把配置文件改成了>=2.3.0,<3.0.0
后面的步骤顺利执行了,但是在后面安装时发现缺少文件,就像问题4中提到的。
所以最好要按照配置文件中的版本安装Ruby。
如果安装错了版本也切忌直接安装另一个Ruby,要先卸载了再安装新的版本。(不要问我为什么知道,因为安装了多个版本的Ruby在后面部署中会有多个版本的冲突问题。)
问题3.bundle install时不能找到资源
解决方案:换gem源
首先替换gem源,使用命令:gem sources
先删除原来的下载原本:gem source -r https://rubygems.org/
检查一下现在删除没有:gem source
先替换成了淘宝的源:gem source -a http://ruby.taobao.org/
查询原因是因为已经不能用了(好像是没有备案)
替换成阿里云:gem sources -a http://rubygems-china.oss.aliyuncs.com
还是同样的提示,看来也是不能用了
最后替换成一下网址:
gem sources -a https://gems.ruby-china.com/
看一下源列表:
开始安装:bundle install
看来这次终于成功了!!!
结论:
现在这个时候国内gem能用的源只有这个还能用:https://gems.ruby-china.com/
如果还有其他的源欢迎大家在底下留言,方便其他人使用。
问题4.输入命令bundle exec rake generate_secret_token报缺少文件
发现如下错误:
网上查询原因没有查到,因为缺少nokogiri,怀疑可能是因为在前面直接修改了Gemfile文件的原因,所以还是得把他改回去…
再次执行上面的命令果然不报这个错误了。
报了下面的问题(此处重新打开了cmd):
大概意思是现在系统里有两个gem版本,要是用3.0的版本要输入bundle update –bundler命令切回去。这种我们不要,因为3.0的版本与这个redmine不兼容。
所以用第二种,执行:gem install bundler:2.2.14
接着运行命令:
bundle exec rake generate_secret_token
按照指示做,执行bundle install(相当于安装新的bundle内容)
问题5. bundle install最后要求安装MSYS2
因为刚开始安装ruby时没有安装,记得不要像我这样。
既然没安装那就按照指示做:ridk install
下载完成后手动窗口安装:
安装完成后就可以了。
问题6. bundle exec rake db:migrate时报错:
TinyTds::Error: Unable to connect: Adaptive Server is unavailable or does not exist (localhost)
原因是因为我按照网上的方式配置config/database.yml
因为我在安装数据库时配置了实例名,所以我的数据库并不能用localhost或者.来访问,host要注明实例名称DESKTOP-0OHDK7OHOLLYSYS
运行还是报错:
TinyTds::Error: Server name not found in configuration files
经过查询发现host名称中有特殊符号“”,再加了一个“”还是不行。
解决方案:
Host改回:localhost
然后配置SqlServer:
打开sql server配置管理器:
协议中的“已启用”选择“是”,并点击“应用”按钮
切换到“IP地址”选项卡:
把所有选项卡里的相应内容改动如下:
TCP动态端口:置空
TCP端口:1433
已启用:是
点击“应用”,然后“确定”
重启相应的sql服务:
问题7. bundle exec rake db:migrate时报错:
TinyTds::Error: 用户 'redmine' 登录失败。
解决方案:
右键数据库=>属性=>安全性,身份验证改成双验证方式。
参考文章:https://blog.csdn.net/xingyuhailing/article/details/80189692