參考教程 https://gorails.com/deploy/ubuntu/20.04
從挑選服務(wù)器開始 手把手的教啊 全英文超容易懂 感人的教程

You might also want to configure Redis as your production store for caching.
看到這條才知道 Redis 是做什么的
對了 之前遇到設(shè)置了SSH key覺得不用一直輸入密碼很爽 但是后來遇到一些指令要求輸入密碼 就很囧了 順手查了一下

估計還是相關(guān)的文檔沒設(shè)置清楚導(dǎo)致的
但...其實有一個很簡單的方法可以避免...就是別一上來就高級操作...一開始就設(shè)置成免密賬號干嘛啊,直接老土的adduser XXX 把密碼給設(shè)置好 以后遇到那要輸入密碼的指令 老老實實輸入密碼不就啥事沒有了哈哈哈哈
(好不思進(jìn)取的辦法...如果這次順利部署完成還是老老實實研究一下 “如何啥步驟都能免密” 才更好)

sudo: add-apt-repository: command not found
找到解法了

sudo apt install software-properties-common
搞定 繼續(xù)
安裝最新的 Ruby 3.0.1一直卡住...啥都不顯示 卡著卡著服務(wù)器就罷工了 我傻等了兩次就找解法去了
然后看到一個
https://github.com/Microsoft/WSL/issues/144
嘗試
rbenv install --verbose 3.0.1
能看到運行到哪步 真的很爽 至少知道有沒有真的被卡在哪里
目前看來沒有問題只是比較耗時而已 阿彌陀佛...
一切順利 繼續(xù)繼續(xù)
在設(shè)置 NGINX 的時候 我修改 myapp 成我自己的項目名稱時,突然想到...大寫的名稱 會不會因為格式不符合才導(dǎo)致之前嘗試原來教程時后面一堆報錯?
先試一下 如果一堆報錯 再根據(jù)我的猜想來改改看
好繼續(xù) Chapter 4的安裝
PostgreSQL Database 安裝順利 記住數(shù)據(jù)庫的用戶名以及密碼

繼續(xù) Chapter 5的安裝
原來 Capistrano相關(guān)的gem是安裝在
group :development do
之后的最后一行的位置啊?。?! 學(xué)起來 不要丟到其他奇怪的地方哈哈哈
原來...放上gem后...還有一步變樣子了...
cap install STAGES=production
還有一處的不同

所以我糾結(jié)的 secrets.yml 原來是可以跳過去的?!如果如此,也可以告慰自己,遇到就是學(xué)到,這波沒有虧!嘻嘻
想設(shè)置的原因是 This is useful if you don't want to use ENV variables
最后 還是遇到了有設(shè)置 secret_key_base這樣?xùn)|西的文檔
nano /home/deploy/MyTrip/.rbenv-vars
教程里的這個部分
RAILS_MASTER_KEY=ohai
SECRET_KEY_BASE=1234567890
前者我沒有改動 后者我是去本機 rake secret搞出來的 先試試看會不會通過吧
去本機的項目里跑
cap production deploy:check
一切正常
那么就正式來吧
cap production deploy

果然 來吧
看到參考資料顯示 有可能是因為內(nèi)存太小導(dǎo)致?如果這樣好解決啊 我可以馬上去擴大一下服務(wù)器的內(nèi)存
去提升了內(nèi)存 修改到了2GB
還是同樣的報錯
嗯?等等 對比一下原教程,發(fā)現(xiàn)本機的項目...沒有安裝生產(chǎn)級別的數(shù)據(jù)庫...這...莫非還是數(shù)據(jù)庫問題導(dǎo)致的???!
就去本機 gemfile 補上了 gem pg
BTW 后來看了其他的資料補充,果然要補上本機的「pg」或者「MySQL2」數(shù)據(jù)庫的安裝的
果然要補充東西...不然會報錯...參考資料如下
https://makandracards.com/makandra/28033-ubuntu-fix-an-error-occurred-while-installing-pg
那么輸入
sudo apt-get install libpq-dev

等等...不對呀...好像應(yīng)該去服務(wù)器端跑這行sudo apt-get install libpq-dev代碼?本機能識別嗎?文章開頭就說了 Ubuntu的啊...又不是本機上跑的...
apt-getis a Linux package manager. On OS X you need to use something Mac specific like Macports or Homebrew. I recommend trying out Homebrew
你看 別人也是這樣說的
如果硬要在本機跑這個代碼指令的話 這里有參考 https://www.youtube.com/watch?v=IdSHF53LN8I
試試看去服務(wù)器跑 能跑 就先這樣?
因為還看到有可能就是 SECRET_KEY_BASE 這類沒有設(shè)置好導(dǎo)致的...嗯 都試試看吧
繼續(xù)看油管視頻 https://www.youtube.com/watch?v=xpYpaRUFzTI 大概視頻的20分鐘左右發(fā)現(xiàn)有教你如何找到 Master Key 還有 secret_key_base 啊...果然要設(shè)置的啊...
定位 secret_key_base 在本機跑如下代碼
EDITOR=nano rails credentials:edit
居然報錯了哈哈哈哈
Don't know how to build task 'credentials:edit' (See the list of available tasks with rake --tasks)

查到一個解法 貌似是因為 rails版本太老舊導(dǎo)致?就

看看能否解決吧
我去!真的解決了哈哈哈哈
好 填好了私鑰繼續(xù)定位 Master Key

終于把文檔設(shè)置好了,不過油管視頻up主馬上吐槽說這樣會部署失敗 哈哈哈哈 我去?。?!
雖然他馬上安慰說 不過完全沒問題 我還是PTSD了哈哈哈哈
果然 忙活一通 還是同樣的報錯 視頻里提到的bug是GitHub的ssh-key問題 估計也是要改的 所以我順手修掉了

一通修改后...還是報錯哈哈哈 油管里面沒見過的報錯 看報錯的內(nèi)容我推測很可能是Ruby版本的問題 again 我嘗試看看
嘗試改成 ruby 6 但是...快凌晨一點了 我先去睡覺
如果安裝了相關(guān)的ruby版本 切換版本的時候用
rvm use X.X.X
就能切換到已有的版本去了
用 rvm install list 或者 rvm list rubies 查看目前用的版本
其他相關(guān)的代碼 refer to 官網(wǎng) http://rvm.io/rubies/installing
安裝了新的ruby版本 記得bundle處理后 繼續(xù)安裝配套的rails版本 不然估計又要沖突啊...
就去掉 gem 后面跟著的版本小尾巴 如果有的話 然后直接 gem install rails 估計就能安裝到最新版的 rails
如果還不行,馬上來一次 bundle update就成了
本機的 ruby 只能安裝到 ruby 2.7.0版本 因為用的 rvm rails 已經(jīng)升級到目前最高的 Rails 6.1.3.2 如果還有版本沖突 估計就是要去調(diào)整服務(wù)器的ruby版本了
還是之前的報錯...
然而我看資料嘗試過程遇到輸入
bundle exec rake db:migrate
出現(xiàn)報錯

然后發(fā)現(xiàn)連 rails s都開不了了
嗯 看起來應(yīng)該是rails升級了導(dǎo)致的問題吧 看了參考答案
我直接注解掉這一行 就可以 rails s 了


然后嘗試打開本地的網(wǎng)頁 localhost:3000就報錯
Puma caught this error: Invalid option key: raise_on_unfiltered_parameters= (RuntimeError)
看到一個解法 試試看


嗯嗯??!頁面能正常打開啦啦啦~
果然部署前 還是要認(rèn)真看看本機代碼是否能正常打開頁面
然后還是報錯...莫非是ruby版本導(dǎo)致的問題?然后查看到一個解答...讓我回過神來...

嗯?我才回過神...

果然用太久前的項目來嘗試部署很多坑啊...版本沖突不說 自己很多gem用的啥都不了解或者忘光光了...
不過也好 當(dāng)做學(xué)習(xí)啊啊

就嘗試安裝 rbenv 等待的過程中在想 同時有「 rvm 」會不會沖突之類的...
然后就看到了

媽呀 先卸載rvm去吧啊啊啊 找到的參考資料 https://wilsonmar.github.io/ruby-on-apple-mac-osx/#RemoveRVM

幸好有保留下來本機上刪除時顯示的提示
「Please check all .bashrc .bash_profile .profile and .zshrc for RVM source lines and delete or comment out if this was a Per-User installation.
Also make sure to remove rvm group if this was a system installation」
就是刪除后提示說要手動刪掉文檔/Users/RealAnalysis/.rvm/
我用
rm -r /Users/RealAnalysis/.rvm/ 刪到天荒地老...這個要補...先去運動
回來繼續(xù) 查看了一些資料嘗試后 看到報錯是 permission denied 找到相關(guān)資料后感覺要用
sudo rm -rf /Users/RealAnalysis/.rvm/
這樣才行啊
嗯 一行代碼就解決了 爽啊
vim ~/.bash_profile
vim ~/.bashrc
vim ~/.profile
這三個...都還保存了 rvm 元素...媽呀...
全數(shù)注解干凈后 記得要 「Also make sure to close (and re-open if needed) the terminal afterwards」就是要記得 restart terminal
我好像不小心...
rm -r ~/.zshrc
這個只是要刪掉里面的rvm相關(guān) 而不是整個刪掉吧???
完蛋...真的手快刪掉了,查找了recover的代碼 用了這個起點作用
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
但是這個是官網(wǎng)的模板來的 類似最初版本跟我項目肯定一堆沖突...唉...玩rails真的要很多branch 不然搞死自己啊...
好嘛 最糟糕無非從頭再設(shè)置本機的項目一次 如果那樣一定要勤快的加branch??!現(xiàn)在先重新開啟terminal安裝 rbenv 試看看能不能deploy (雖然估計還是不行...)
一開terminal我傻眼了...相關(guān)的喜歡效果設(shè)置全部消失哈哈哈 我還是老老實實開教程把terminal設(shè)置那里步驟重新來一次吧哈哈哈哈

嗯 方便快捷 五分鐘設(shè)置完畢 總之跟oh-my-zsh設(shè)置有關(guān) 阿彌陀佛 顯示正常了 好繼續(xù)
安裝了 rbenv 后 報錯來了

貌似這個 init 相關(guān)的報錯是因為 原教程里的 ~/.zshrc的設(shè)置是跟 rvm配套的 如果用 rbenv 要修改
媽耶...才反應(yīng)過來這不是報錯...這是要求你加
eval "$(rbenv init -)"
這行到~/.zshrc里面就好 拜托別無視被注解掉的部分 append 是 to add something to a document的意思啊喂!(#`O′)
加進(jìn)去之后 還是會顯示一樣的消息 看到參考資料說這很正常

不過我馬上嘗試了
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
還是顯示404錯誤 估計是路徑啥的要添加 啊,不對,看rbenv官網(wǎng)的說法 要重啟terminal
然后...我就遇到了會變種類的報錯 ??

來吧 是個學(xué)習(xí)機會 雖然一開始部署到差點暴走 但是現(xiàn)在甚至有點交學(xué)費好好學(xué)吧的佛系意思了 阿里云充值再充一次的話...我直接搞個包月好了哈哈哈哈
有些人說重啟terminal就解決了 我關(guān)掉再開啟并沒有解決...繼續(xù)看資料 有人回答把電腦重啟就解決了...
嘗試了重啟電腦 還是沒用 繼續(xù)

也就是代理出問題
嘗試改文檔
export ZSH=$HOME/.oh-my-zsh
替換成
ZSH=$HOME/.oh-my-zsh
source $ZSH/oh-my-zsh.sh
export PATH=$HOME/.rbenv/bin:/usr/local/bin:$HOME/.bin:$PATH
還是同樣報錯 繼續(xù)嘗試

然后發(fā)現(xiàn)出問題了 git push --all 這樣的指令都不能執(zhí)行了...估計是刪除 rvm的過程出了什么問題了

加上看到這個解法

結(jié)果整個項目里 無法查到 GIT_SSL_NO_VERIFY這個關(guān)鍵詞...
一定是出問題了哈哈哈 刪除 rvm 的過程中什么文檔被刪掉了啊 哦哦哦 不對 他的報錯類別跟我不同 累的眼鏡都花了哈哈哈
一通操作 發(fā)現(xiàn)
ssh -vT git@github.com
都沒有正確的鏈接
就跑去一通操作 找到自己本機的公鑰,然后去GitHub的setting給加到SSH key里啦
OK 只是能git push了...就是報錯依舊
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
再跑一次
ssh -vT git@github.com
發(fā)現(xiàn)新的指示...
You've successfully authenticated, but GitHub does not provide shell access.

https://github.com/rbenv/rbenv
以上為 rbenv的官網(wǎng)資料 認(rèn)真玩一玩兒 能debug還能學(xué)到一些東西
繼續(xù)玩兒之前,我嘗試了一把在這看起來沒設(shè)置好的情況下安裝ruby的舉動,結(jié)果安裝成功了...然后注意...Rails居然沒有安裝...


說不定是因為其實安裝指南上沒有完成的部分 其實不用安裝?我準(zhǔn)備找找其他資料參考看看是否如此 以及 好奇是否這些報錯是因為沒有Rails配套導(dǎo)致的?
準(zhǔn)備 bundle install一下補上rails的安裝的,然后開始一串的報錯

但是運氣不錯,這些報錯貌似給我了新的解題思路?!


嗯,跟著改了一堆,然后運行exec $SHELL -l的時候卡著了...又參考其他的解法

想起來之前只運行了
rbenv install 3.0.1
所以就執(zhí)行了
rbenv global 3.0.1
而且有個新的發(fā)現(xiàn),運行了
rbenv global 3.0.1
我猜測這個 「global」的意思就是「全局」或者 「本機」的意思,本機存的所有項目都變成用這個版本的ruby了,而「local」就是指「本項目」用的ruby版本
之后,再檢查 ruby 的版本 就發(fā)現(xiàn)給的版本是最新安裝的 「3.0.1」 運行前查看明明還是舊版的,有趣有趣!
好!解決了,bundle install 立馬能玩兒轉(zhuǎn) 立馬殺回去把相關(guān)的文檔代碼注解掉

因為內(nèi)容重復(fù) 就毫不猶豫刪掉自己加的那兩行
然后 找到官網(wǎng)很重要的參考資料
https://github.com/rbenv/rbenv#how-rbenv-hooks-into-your-shell
為了讓 rbenv 跟 production 能好好的銜接干活

一上來就暴擊 “dev環(huán)境跟production環(huán)境要一致”...我一個爆哭...
然后有講解 PATH 還有 Shims 等相關(guān)知識點 太需要了 前面debug的時候老是看到的詞匯

設(shè)置過程發(fā)現(xiàn)連 rails -v 都無法執(zhí)行 就找到解法

參考 https://qiita.com/ARTS_papa/items/15f1a8b08dc386e14a62
echo 'export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH"' >> ~/.zshenv
echo 'eval "$(rbenv init -)"' >> ~/.zshenv
echo 'source $HOME/.zshenv' >> ~/.zshrc
exec $SHELL
source $HOME/.zshenv
別瞎修改 注意本機用的shell不是 bash而是zsh 修改都要用適用于zsh的 不然越改越亂了 會各種沖突的
等等...媽呀...我才發(fā)現(xiàn)我為了debug 把自己切換到了 rbenv的分支去了...看看截圖里的分叉名稱...難怪那么多代碼無法正常運行...Orz
趕緊切換回去...因為
rbenv init
好像只要重啟讓調(diào)整的effort take place后就不是大問題 所以繼續(xù)搞
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
還在報錯的問題 怎么看都是代理導(dǎo)致的問題 要調(diào)整好相關(guān)的設(shè)置
找到一個解法 嘗試了一下
echo ip4 >> ~/.curlrc
然后報錯依舊 而且還多一一行報錯信息 ??

驚慌之下,我想嘗試回到原設(shè)定 就亂來一通 越嘗試越亂哈哈哈哈 真是嘗試任何東西前都要先開個分支啊啊啊
算了 如果有問題的話 后面會遇到報錯的 到時候再解決吧 現(xiàn)在先搞定這個疑似代理問題的報錯
參考資料提供新的思路 https://github.com/hawtim/blog/issues/10
可能是git的網(wǎng)站本身的問題導(dǎo)致的 它的DNS被污染 但是要警惕 這人用的是 rvm 我已全部切換到 rbenv了 不一樣的
因為他要求加一個host...我看了看host 文檔 里面就三行代碼 有點不想亂加?xùn)|西 就先嘗試了 https://zhuanlan.zhihu.com/p/115450863 的解法
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:789
結(jié)果好嘛 更亂了哈哈哈哈

不過給我個想法...我試試看 用前者給的建議查到了對應(yīng)的 IP https://githubusercontent.com.ipaddress.com/raw.githubusercontent.com
然后改成這個IP試看看
export https_proxy=http://185.199.108.133:7890 http_proxy=http://185.199.108.133:7890 all_proxy=socks5://185.199.108.133:789
還是報錯...而且我覺得這代碼是把我的代理設(shè)置成了“要去拉代碼的網(wǎng)站IP” 這肯定有問題的...
要怎么改成正確的代理啊啊啊 頭疼

把自己亂嘗試的IP改成 127.0.0.1 吧至少知道這個是自己本機的 改過來之后去嘗試添加host
所以再跑一次
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:789
雖然我一直覺得最后缺了個“0” 但是無所謂了 因為嘗試添加了也一樣報錯...然后添加了
185.199.108.133 raw.githubusercontent.com
強行到host這個只讀文檔
最后還是報錯了...
curl: (7) Failed to connect to 127.0.0.1 port 7890: Connection refused
開啟亂嘗試路線
export https_proxy=http://127.0.0.1:8080 http_proxy=http://127.0.0.1:8080 all_proxy=socks5://127.0.0.1:8080
把port改掉 嗯 依舊報錯
總之 好像添加host無用 我決定先把host文檔還原 結(jié)果回頭一看 只是用
vim /etc/hosts
根本無法改變 host文檔的內(nèi)容 人家還是原樣...嘖嘖嘖 看起來還是要用
sudo vim /etc/hosts
才能改啊 一會兒再考慮改host好了 我現(xiàn)在真心覺得這一堆奇形怪狀的報錯都是為了從 rvm 改到 rbenv 中間刪掉了大量文檔 估計因為自己操作不當(dāng)才這么多問題
雖然吐血,但是也要感謝這堆報錯 扎實地學(xué)習(xí)到東西了 有點開啟了我野路子學(xué)習(xí)的興趣 hiahiahiahia~
找到新的資料 這個資料提到了解決思路是“取消代理”
https://blog.csdn.net/weixin_41010198/article/details/87929622
用其中提到的查看目前代理的代碼為
env|grep -I proxy
真的查到了我目前用的代理

被自己之前嘗試的代碼改掉了啊 這顯示的是三個協(xié)議的端口啊
BTW 類似
git config --global --unset https.proxy
這樣代碼的作用果然是取消代理 行不通是因為它試圖通過 git來執(zhí)行

好 現(xiàn)在代理取消了 但是...報錯依舊啊...

那么就不是代理的問題了 而是host的問題了?DNS被污染導(dǎo)致的
對了 同樣的解決方法 別人也寫了 http://m.itdecent.cn/p/d6730c16a4c9
繼續(xù)之前,意外發(fā)現(xiàn)一個收獲 進(jìn)入文檔 ~/.curlrc

注解掉之前亂添加的東西 報錯也看起來回到之前的一行了

亂嘗試的步驟 也算是一步步還原了 感謝感謝!!
亂嘗試到現(xiàn)在 我了解到了 「443 端口連接被拒一般是因為墻的原因」嘖嘖嘖 墻啊 代理啊什么的 各種坑啊...Orz
然后繼續(xù)看解法 發(fā)現(xiàn)試圖修改的
~/.gitconfig
這個文檔居然是空文檔... 媽呀... 肯定有設(shè)置出問題了...刪掉rvm的過程看來是破壞了不少東西啊...
唉 繼續(xù)嘗試解決DNS的問題
有一個方法提到了修改DNS server 參考資料 https://stackoverflow.com/questions/59572626/curl-7-failed-to-connect-to-raw-githubusercontent-com-port-443-connection-re
我找到相關(guān)位置

以后如果想改回原來的設(shè)置,請到本機的note文檔里查找原來具體IP數(shù)值
改成資料里建議的 8.8.8.8
題外話一下,這個修改導(dǎo)致了B站等網(wǎng)頁上的視頻封面顯示都出bug 改回去以后就沒問題了 ... 真是有趣的現(xiàn)象...
嗯 改了以后...報錯變成了 35 的報錯 不再是之前的 7報錯了...Orz
然后很神奇!?。∥覠o視報錯再嘗試了一次 居然正常運行了?。。?/p>

又嘗試了幾次 一會兒行一會兒不行的哈哈哈 不過應(yīng)該是不用去host文檔添加正確的網(wǎng)站以及對應(yīng)的IP啦 也是好事

看來改DNS server的辦法也是多人提到的 應(yīng)該靠譜
嗯 然后改完去吃晚餐 邊看視頻的時候發(fā)現(xiàn) 視頻網(wǎng)站的封面圖很多都不正常顯示了 哈哈哈哈哈哈 真是要命 幸好備份了 以后部署完項目能改回去 不然也是影響娛樂體驗哈哈哈

好像有點去重工作要繼續(xù)做?查到一個解法參考如下
https://github.com/rbenv/rbenv/issues/1062
好像是因為我通過兩種途徑重復(fù)下載了 rbenv 建議刪掉git方法下載的 保留用 brew方法下載的rbenv
具體操作為

對了 這個解法會切換到 rbenv本身的代碼分支里去 記得切回來項目不然會一團(tuán)糟糕的!
解法其中提到的一行代碼的操作
grep -i rbenv ~/.* 2>/dev/null
簡直驚艷啊 把全部的操作歷史調(diào)出來看!就知道在哪個文檔做了什么 用的是什么 shell連我從 bash換到 zsh都能看出來 嘖嘖嘖
解法里建議的要刪掉的代碼沒有找到完全一致的 但是有個疑似的
export PATH="$HOME/.rbenv/bin:$PATH"
從操作歷史看 三個相關(guān)的文檔都有添了這樣一條 所以我先嘗試一下把他們都注釋掉看看效果 這三個文檔

想看看debug效果 結(jié)果運行
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
又見報錯
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443
然后果斷把墻關(guān)掉就正常運行了... 雖然后來繼續(xù)開啟墻 也能正常運行...奇奇怪怪

繼續(xù)去重
嗯...看到一些資料 感覺應(yīng)該要刪掉
/Users/RealAnalysis/.rbenv/plugins/ruby-build/bin/rbenv-install
保留短的那文檔里面的installation 但是...沒有找到靠譜的方法啊...只看到一個
https://stackoverflow.com/questions/46671263/cant-install-rbenv-past-2-4-0

這樣的方法...不太想嘗試啊...先跳過這個不算報錯的報錯?
不放棄 發(fā)現(xiàn)bin是個文檔后 查找關(guān)鍵詞 how to remove installation in /usr/local/bin
找到更確切的 How to uninstall programs from /usr/local/bin? 總之加油
目前瀏覽一下提供的方法貌似都挺麻煩的 感覺挺難復(fù)原的...我覺得非必要情況別亂玩兒...建議先跳過這個去重?
擔(dān)心會不會弄壞一切的時候 看到這條的解答

這后面甚至還給出了如何試出哪些是重復(fù)的內(nèi)容 然后針對性的刪掉他們 這篇提供的是一種思路
具體的刪除代碼嘛 看到一種跟我預(yù)計一樣的
sudo rm -r /usr/local/bin/要刪掉的文檔名稱
但是因為是sudo開頭的 我決定還是多看幾篇參考資料再來嘗試
嗯?!等等,這個是刪除掉要保留下來的... 需要刪掉的是長的那個文檔...debug一半去睡覺起來就忘記重點啊啊啊 差點又坑爹到自己
所以估計要用
sudo rm -r /Users/RealAnalysis/.rbenv/plugins/ruby-build/bin/rbenv-install
但這個Users是一個可以隨便刪除文檔的存在嗎?... 會不會有啥后果...搞壞OS系統(tǒng)啥的?!
發(fā)現(xiàn)這個 「multiple `rbenv-install'」提示是因為 ruby-build安裝導(dǎo)致的,所以估計是我運行多次ruby-build導(dǎo)致 所以想想可不可以是刪掉其中一次的ruby-build就能成? 查關(guān)鍵詞變成「uninstall ruby-build」不就OK?

發(fā)覺最后可能還是要刪除 短的那個文檔里的rbenv-install
sudo rm -r /usr/local/bin/要刪掉的文檔名稱
最后還是擔(dān)心 所以去看官網(wǎng)的系統(tǒng)解釋 其中有說明如何查看 雖然講的是ruby-build而不是我要刪掉的installation部分 總之能告訴你存在哪個文檔是通過homebrew的手法安裝的
https://github.com/rbenv/ruby-build/wiki
還看到一個狠人 直接刪掉全部的 然后全部重裝...如果做到這么狠的話 我還是先試試只刪掉一個文檔的代碼吧 沒退路再全盤刪掉(雖然估計又會因為刪除不干凈一堆沖突報錯之類的 唉)
https://qiita.com/d_forest/items/f90f7bb800f27c6687c5


如果要試試只刪除文檔的話 我還是嘗試風(fēng)險小的吧 實在不行就用
brew uninstall ruby-build
這樣的大招 一次性解決了再把 ruby-build安裝回去哈哈哈哈
https://gist.github.com/ruario/a36052a1ae1de4edbc6ad39fe39e5385
這兩資料里面講的「刪除」思路也給力 建議認(rèn)真看看
又認(rèn)真看了看 ruby-bulid的官網(wǎng)內(nèi)容 突然靈光一閃 我不就是因為亂玩 所以兩種安裝路徑都嘗試了導(dǎo)致了重復(fù)安裝嘛 既然基于安全考慮決定刪除“via git install as an rbenv plugin”這個安裝途徑安裝的rbenv 然后我又看到這個

加上后來看到那么多類似

所以估計可以嘗試
sudo rm -r /Users/RealAnalysis/.rbenv/plugins
把這原來安裝的時候就憑空創(chuàng)建的directory直接刪掉 那么理論上來說安裝時第二步用 git 復(fù)制到其中的代碼也都全部刪掉了 應(yīng)該能刪干凈
玩玩看!
刪除的操作很順利 再次運行
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
進(jìn)行測試 等待結(jié)果的過程里復(fù)盤一下不想用
brew uninstall ruby-build
來處理的原因是 我想保留通過 brew 安裝的版本 所以如果想刪掉的是通過 git復(fù)制代碼安裝的版本的話 刪掉通過 brew 安裝的版本應(yīng)該是毫無助益的 感覺自己對代碼的運用又熟悉了一些 感覺真好哈哈哈
擼代碼果然還是要實戰(zhàn)?。?/p>

太開心了?。?!我的推測被證實是對的哈哈哈哈哈?。。W耶! 進(jìn)步了進(jìn)步了?。?!
現(xiàn)在終于算是「 rbenv is properly set up」 明天可以繼續(xù)啦啦啦啦~
目前應(yīng)該是快要把「本機環(huán)境與云服務(wù)器環(huán)境 調(diào)整成一致」的目標(biāo)達(dá)到了 加油!
高興之余 吐槽一下自己

還推測了那么久 各種查看參考資料 雖然最后推測無誤 但是認(rèn)真看看原來官網(wǎng)的資料 人家都把正確答案擺你眼前了喂!
Checking `rbenv install' support: /usr/local/bin/rbenv-install
這行就說明正常情況下 rbenv install 就應(yīng)該存檔在 /usr/local/bin/rbenv-install 我還在兩個中間要刪掉哪個看那么久資料 唉~
不過折騰一番也好 學(xué)到不少東西哈哈哈哈
啊果然出問題哈哈哈哈 之前查的ruby以及rails的路徑這邊都爆炸了

不要害怕 我準(zhǔn)備再安裝一次 估計沒問題 直接安裝到一半 趕緊停止

所以認(rèn)真看了官網(wǎng) https://github.com/rbenv/rbenv#how-rbenv-hooks-into-your-shell 決定用
rbenv uninstall 3.0.1
居然遇到Permission denied 幸好前面遇到過 直接加上 sudo

話說官網(wǎng)下半篇還有詳細(xì)的如何刪掉 rbenv 我還自己推測半天 唉 智商經(jīng)驗都不過硬 就是要多走彎路唉...
不過要高興的是,總算把 rvm 正式換成了 rbenv啦 而且rbenv還正常的安裝完畢 接下來安裝什么 ruby啦 rails啦都是方便簡單的多
無法正常運行 rails -v 要求運行 bundle install來解決 但是連bundle install或者 bundle update都不能正常運行 只是說明遇到報錯 查了一下解法
bundle install --path vendor/cache
這樣就能運行安裝gem們了



好 總之繼續(xù)我已經(jīng)遠(yuǎn)離很久的部署工作...真是太一波三折了哈哈哈哈
嗯 好像bundle出了大問題了...導(dǎo)致 cap 無法運行了? 剛剛跑了
bundle install --path vendor/cache
導(dǎo)致無論是 bundle install 還是 bundle update 都存到了奇怪的地方去?
Bundled gems are installed into `./vendor/cache`
應(yīng)該是這個導(dǎo)致的無法正常運行 cap 因為相關(guān)的gem都無法正常載入?

bundle env
好厲害的代碼

發(fā)現(xiàn)報錯的內(nèi)容 查一下 發(fā)現(xiàn)解法
ssh-add

就能進(jìn)行了

但是這次的報錯 不是數(shù)據(jù)庫報錯了 貌似集中在報錯這個
rake aborted!
TypeError: no implicit conversion of Hash into Integer
這樣的話 應(yīng)該算是把文章一開頭的bug解決了?!新開一篇記錄現(xiàn)在開始遇到的bug吧~
對了 解惑一下

PS. 隨手記錄一個豆知識
如果部署成功但網(wǎng)頁不顯示,就可以用以下代碼debug
sudo less /var/log/nginx/error
然后按 shift + g 能到最底下看報錯信息
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 服務(wù)器上安裝的ruby版本過于老舊導(dǎo)致的myslq2 無法正常load? 老教程的ruby版本是 ruby 2.4...
- 添加新用戶 在服務(wù)器添加一個新的用戶,用戶名為 deploy教程 執(zhí)行命令sudo adduser 用戶名 按提示...
- 1. 為何選擇阿里云 假如你開發(fā)了一個網(wǎng)站,或者想開發(fā)一個網(wǎng)站,開發(fā)完之后,你得讓人訪問吧。別人能訪問,就得把你的...
- 從頭設(shè)置云 一步步從最初捋清楚哪里出問題 先是選擇 Ubuntu Server 下載 Long Term Supp...
- NO.1購買域名并做域名解析 NO.2購買主機 NO.3測試主機聯(lián)通 ping x.x.x.x NO.4登錄到服務(wù)...