Redmine部署中遇到的問題
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-0OHDK7O\HOLLYSYS
運行還是報錯:
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

浙公網安備 33010602011771號