参考教程 https://gorails.com/deploy/ubuntu/20.04
从挑选服务器开始 手把手的教啊 全英文超容易懂 感人的教程
You might also want to configure Redis as your production store for caching.
看到这条才知道 Redis
是做什么的
对了 之前遇到设置了SSH key
觉得不用一直输入密码很爽 但是后来遇到一些指令要求输入密码 就很囧了 顺手查了一下
估计还是相关的文档没设置清楚导致的
但...其实有一个很简单的方法可以避免...就是别一上来就高级操作...一开始就设置成免密账号干嘛啊,直接老土的adduser XXX
把密码给设置好 以后遇到那要输入密码的指令 老老实实输入密码不就啥事没有了哈哈哈哈
(好不思进取的办法...如果这次顺利部署完成还是老老实实研究一下 “如何啥步骤都能免密” 才更好)
sudo: add-apt-repository: command not found
找到解法了
sudo apt install software-properties-common
搞定 继续
安装最新的 Ruby 3.0.1
一直卡住...啥都不显示 卡着卡着服务器就罢工了 我傻等了两次就找解法去了
然后看到一个
https://github.com/Microsoft/WSL/issues/144
尝试
rbenv install --verbose 3.0.1
能看到运行到哪步 真的很爽 至少知道有没有真的被卡在哪里
目前看来没有问题只是比较耗时而已 阿弥陀佛...
一切顺利 继续继续
在设置 NGINX
的时候 我修改 myapp
成我自己的项目名称时,突然想到...大写的名称 会不会因为格式不符合才导致之前尝试原来教程时后面一堆报错?
先试一下 如果一堆报错 再根据我的猜想来改改看
好继续 Chapter 4
的安装
PostgreSQL Database 安装顺利 记住数据库的用户名以及密码
继续 Chapter 5
的安装
原来 Capistrano
相关的gem是安装在
group :development do
之后的最后一行的位置啊!!! 学起来 不要丢到其他奇怪的地方哈哈哈
原来...放上gem后...还有一步变样子了...
cap install STAGES=production
还有一处的不同
所以我纠结的 secrets.yml
原来是可以跳过去的?!如果如此,也可以告慰自己,遇到就是学到,这波没有亏!嘻嘻
想设置的原因是 This is useful if you don't want to use ENV variables
最后 还是遇到了有设置 secret_key_base
这样东西的文档
nano /home/deploy/MyTrip/.rbenv-vars
教程里的这个部分
RAILS_MASTER_KEY=ohai
SECRET_KEY_BASE=1234567890
前者我没有改动 后者我是去本机 rake secret
搞出来的 先试试看会不会通过吧
去本机的项目里跑
cap production deploy:check
一切正常
那么就正式来吧
cap production deploy
果然 来吧
看到参考资料显示 有可能是因为内存太小导致?如果这样好解决啊 我可以马上去扩大一下服务器的内存
去提升了内存 修改到了2GB
还是同样的报错
嗯?等等 对比一下原教程,发现本机的项目...没有安装生产级别的数据库...这...莫非还是数据库问题导致的?!!
就去本机 gemfile 补上了 gem pg
BTW 后来看了其他的资料补充,果然要补上本机的「pg」或者「MySQL2」数据库的安装的
果然要补充东西...不然会报错...参考资料如下
https://makandracards.com/makandra/28033-ubuntu-fix-an-error-occurred-while-installing-pg
那么输入
sudo apt-get install libpq-dev
参考资料 https://capistranorb.com/documentation/faq/why-does-something-work-in-my-ssh-session-but-not-in-capistrano/
等等...不对呀...好像应该去服务器端跑这行sudo apt-get install libpq-dev
代码?本机能识别吗?文章开头就说了 Ubuntu
的啊...又不是本机上跑的...
apt-get
is a Linux package manager. On OS X you need to use something Mac specific like Macports or Homebrew. I recommend trying out Homebrew
你看 别人也是这样说的
还有这个也是这样解释的
https://stackoverflow.com/questions/19688424/why-is-the-apt-get-function-not-working-in-the-terminal-on-mac-os-x-v10-9-maver
如果硬要在本机跑这个代码指令的话 这里有参考 https://www.youtube.com/watch?v=IdSHF53LN8I
试试看去服务器跑 能跑 就先这样?
因为还看到有可能就是 SECRET_KEY_BASE 这类没有设置好导致的...嗯 都试试看吧
继续看油管视频 https://www.youtube.com/watch?v=xpYpaRUFzTI 大概视频的20分钟左右发现有教你如何找到 Master Key
还有 secret_key_base
啊...果然要设置的啊...
定位 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版本太老旧导致?就
看看能否解决吧
我去!真的解决了哈哈哈哈
好 填好了私钥继续定位 Master Key
终于把文档设置好了,不过油管视频up主马上吐槽说这样会部署失败 哈哈哈哈 我去!!!
虽然他马上安慰说 不过完全没问题 我还是PTSD了哈哈哈哈
果然 忙活一通 还是同样的报错 视频里提到的bug是GitHub
的ssh-key
问题 估计也是要改的 所以我顺手修掉了
一通修改后...还是报错哈哈哈 油管里面没见过的报错 看报错的内容我推测很可能是Ruby版本的问题 again 我尝试看看
尝试改成 ruby 6 但是...快凌晨一点了 我先去睡觉
如果安装了相关的ruby版本 切换版本的时候用
rvm use X.X.X
就能切换到已有的版本去了
用 rvm install list
或者 rvm list rubies
查看目前用的版本
其他相关的代码 refer to 官网 http://rvm.io/rubies/installing
安装了新的ruby版本 记得bundle处理后 继续安装配套的rails版本 不然估计又要冲突啊...
就去掉 gem 后面跟着的版本小尾巴 如果有的话 然后直接 gem install rails
估计就能安装到最新版的 rails
如果还不行,马上来一次 bundle update
就成了
本机的 ruby 只能安装到 ruby 2.7.0
版本 因为用的 rvm
rails 已经升级到目前最高的 Rails 6.1.3.2
如果还有版本冲突 估计就是要去调整服务器的ruby版本了
还是之前的报错...
然而我看资料尝试过程遇到输入
bundle exec rake db:migrate
出现报错
然后发现连 rails s
都开不了了
嗯 看起来应该是rails升级了导致的问题吧 看了参考答案
https://stackoverflow.com/questions/49744200/nomethoderror-undefined-method-halt-callback-chains-on-return-false-for-acti
我直接注解掉这一行 就可以 rails s
了
然后尝试打开本地的网页 localhost:3000
就报错
Puma caught this error: Invalid option key: raise_on_unfiltered_parameters= (RuntimeError)
看到一个解法 试试看
嗯嗯!!页面能正常打开啦啦啦~
果然部署前 还是要认真看看本机代码是否能正常打开页面
然后还是报错...莫非是ruby版本导致的问题?然后查看到一个解答...让我回过神来...
嗯?我才回过神...
果然用太久前的项目来尝试部署很多坑啊...版本冲突不说 自己很多gem用的啥都不了解或者忘光光了...
不过也好 当做学习啊啊
就尝试安装 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/
删到天荒地老...这个要补...先去运动
回来继续 查看了一些资料尝试后 看到报错是 permission denied
找到相关资料后感觉要用
sudo rm -rf /Users/RealAnalysis/.rvm/
这样才行啊
嗯 一行代码就解决了 爽啊
vim ~/.bash_profile
vim ~/.bashrc
vim ~/.profile
这三个...都还保存了 rvm 元素...妈呀...
全数注解干净后 记得要 「Also make sure to close (and re-open if needed) the terminal afterwards」就是要记得 restart terminal
我好像不小心...
rm -r ~/.zshrc
这个只是要删掉里面的rvm
相关 而不是整个删掉吧?
完蛋...真的手快删掉了,查找了recover的代码 用了这个起点作用
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
但是这个是官网的模板来的 类似最初版本跟我项目肯定一堆冲突...唉...玩rails真的要很多branch 不然搞死自己啊...
好嘛 最糟糕无非从头再设置本机的项目一次 如果那样一定要勤快的加branch啊!现在先重新开启terminal安装 rbenv 试看看能不能deploy (虽然估计还是不行...)
一开terminal我傻眼了...相关的喜欢效果设置全部消失哈哈哈 我还是老老实实开教程把terminal设置那里步骤重新来一次吧哈哈哈哈
嗯 方便快捷 五分钟设置完毕 总之跟oh-my-zsh
设置有关 阿弥陀佛 显示正常了 好继续
安装了 rbenv 后 报错来了
貌似这个 init 相关的报错是因为 原教程里的 ~/.zshrc
的设置是跟 rvm
配套的 如果用 rbenv 要修改
妈耶...才反应过来这不是报错...这是要求你加
eval "$(rbenv init -)"
这行到~/.zshrc
里面就好 拜托别无视被注解掉的部分 append
是 to add something to a document
的意思啊喂!(#`O′)
加进去之后 还是会显示一样的消息 看到参考资料说这很正常
https://stackoverflow.com/questions/64634457/cannot-resolve-rbenv-init-instruction-for-zsh-and-oh-my-zsh-on-mac
不过我马上尝试了
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
还是显示404错误 估计是路径啥的要添加 啊,不对,看rbenv官网的说法 要重启terminal
然后...我就遇到了会变种类的报错
来吧 是个学习机会 虽然一开始部署到差点暴走 但是现在甚至有点交学费好好学吧的佛系意思了 阿里云充值再充一次的话...我直接搞个包月好了哈哈哈哈
有些人说重启terminal就解决了 我关掉再开启并没有解决...继续看资料 有人回答把电脑重启就解决了...
尝试了重启电脑 还是没用 继续
也就是代理出问题
尝试改文档
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
还是同样报错 继续尝试
然后发现出问题了 git push --all
这样的指令都不能执行了...估计是删除 rvm的过程出了什么问题了
加上看到这个解法
结果整个项目里 无法查到 GIT_SSL_NO_VERIFY
这个关键词...
一定是出问题了哈哈哈 删除 rvm 的过程中什么文档被删掉了啊 哦哦哦 不对 他的报错类别跟我不同 累的眼镜都花了哈哈哈
https://docs.github.com/en/github/authenticating-to-github/troubleshooting-ssh/error-permission-denied-publickey
一通操作 发现
ssh -vT [email protected]
都没有正确的链接
就跑去一通操作 找到自己本机的公钥,然后去GitHub的setting给加到SSH key
里啦
OK 只是能git push了...就是报错依旧
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
再跑一次
ssh -vT [email protected]
发现新的指示...
You've successfully authenticated, but GitHub does not provide shell access.
https://github.com/rbenv/rbenv
以上为 rbenv
的官网资料 认真玩一玩儿 能debug还能学到一些东西
继续玩儿之前,我尝试了一把在这看起来没设置好的情况下安装ruby的举动,结果安装成功了...然后注意...Rails居然没有安装...
说不定是因为其实安装指南上没有完成的部分 其实不用安装?我准备找找其他资料参考看看是否如此 以及 好奇是否这些报错是因为没有Rails配套导致的?
准备 bundle install
一下补上rails的安装的,然后开始一串的报错
但是运气不错,这些报错貌似给我了新的解题思路?!
嗯,跟着改了一堆,然后运行exec $SHELL -l
的时候卡着了...又参考其他的解法
想起来之前只运行了
rbenv install 3.0.1
所以就执行了
rbenv global 3.0.1
而且有个新的发现,运行了
rbenv global 3.0.1
我猜测这个 「global」的意思就是「全局」或者 「本机」的意思,本机存的所有项目都变成用这个版本的ruby了,而「local」就是指「本项目」用的ruby版本
之后,再检查 ruby 的版本 就发现给的版本是最新安装的 「3.0.1」 运行前查看明明还是旧版的,有趣有趣!
好!解决了,bundle install 立马能玩儿转 立马杀回去把相关的文档代码注解掉
因为内容重复 就毫不犹豫删掉自己加的那两行
然后 找到官网很重要的参考资料
https://github.com/rbenv/rbenv#how-rbenv-hooks-into-your-shell
为了让 rbenv 跟 production 能好好的衔接干活
一上来就暴击 “dev环境跟production环境要一致”...我一个爆哭...
然后有讲解 PATH
还有 Shims
等相关知识点 太需要了 前面debug的时候老是看到的词汇
设置过程发现连 rails -v
都无法执行 就找到解法
参考 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
的 不然越改越乱了 会各种冲突的
等等...妈呀...我才发现我为了debug 把自己切换到了 rbenv的分支去了...看看截图里的分叉名称...难怪那么多代码无法正常运行...Orz
赶紧切换回去...因为
rbenv init
好像只要重启让调整的effort take place后就不是大问题 所以继续搞
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
还在报错的问题 怎么看都是代理导致的问题 要调整好相关的设置
找到一个解法 尝试了一下
echo ip4 >> ~/.curlrc
然后报错依旧 而且还多一一行报错信息
惊慌之下,我想尝试回到原设定 就乱来一通 越尝试越乱哈哈哈哈 真是尝试任何东西前都要先开个分支啊啊啊
算了 如果有问题的话 后面会遇到报错的 到时候再解决吧 现在先搞定这个疑似代理问题的报错
参考资料提供新的思路 https://github.com/hawtim/blog/issues/10
可能是git的网站本身的问题导致的 它的DNS被污染 但是要警惕 这人用的是 rvm
我已全部切换到 rbenv
了 不一样的
因为他要求加一个host...我看了看host 文档 里面就三行代码 有点不想乱加东西 就先尝试了 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
结果好嘛 更乱了哈哈哈哈
不过给我个想法...我试试看 用前者给的建议查到了对应的 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
还是报错...而且我觉得这代码是把我的代理设置成了“要去拉代码的网站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文档
还原 结果回头一看 只是用
vim /etc/hosts
根本无法改变 host文档的内容 人家还是原样...啧啧啧 看起来还是要用
sudo vim /etc/hosts
才能改啊 一会儿再考虑改host好了 我现在真心觉得这一堆奇形怪状的报错都是为了从 rvm
改到 rbenv
中间删掉了大量文档 估计因为自己操作不当才这么多问题
虽然吐血,但是也要感谢这堆报错 扎实地学习到东西了 有点开启了我野路子学习的兴趣 hiahiahiahia~
找到新的资料 这个资料提到了解决思路是“取消代理”
https://blog.csdn.net/weixin_41010198/article/details/87929622
用其中提到的查看目前代理的代码为
env|grep -I proxy
真的查到了我目前用的代理
被自己之前尝试的代码改掉了啊 这显示的是三个协议的端口啊
BTW 类似
git config --global --unset https.proxy
这样代码的作用果然是取消代理
行不通是因为它试图通过 git
来执行
好 现在代理取消了 但是...报错依旧啊...
那么就不是代理的问题了 而是host的问题了?DNS被污染导致的
对了 同样的解决方法 别人也写了 https://www.jianshu.com/p/d6730c16a4c9
继续之前,意外发现一个收获 进入文档 ~/.curlrc
注解掉之前乱添加的东西 报错也看起来回到之前的一行了
乱尝试的步骤 也算是一步步还原了 感谢感谢!!
乱尝试到现在 我了解到了 「443 端口连接被拒一般是因为墙的原因」啧啧啧 墙啊 代理啊什么的 各种坑啊...Orz
然后继续看解法 发现试图修改的
~/.gitconfig
这个文档居然是空文档... 妈呀... 肯定有设置出问题了...删掉rvm的过程看来是破坏了不少东西啊...
唉 继续尝试解决DNS的问题
有一个方法提到了修改DNS server
参考资料 https://stackoverflow.com/questions/59572626/curl-7-failed-to-connect-to-raw-githubusercontent-com-port-443-connection-re
我找到相关位置
以后如果想改回原来的设置,请到本机的note文档里查找原来具体IP数值
改成资料里建议的 8.8.8.8
题外话一下,这个修改导致了B站等网页上的视频封面显示都出bug 改回去以后就没问题了 ... 真是有趣的现象...
嗯 改了以后...报错变成了 35
的报错 不再是之前的 7
报错了...Orz
然后很神奇!!!我无视报错再尝试了一次 居然正常运行了!!!
又尝试了几次 一会儿行一会儿不行的哈哈哈 不过应该是不用去host
文档添加正确的网站以及对应的IP啦 也是好事
看来改DNS server的办法也是多人提到的 应该靠谱
嗯 然后改完去吃晚餐 边看视频的时候发现 视频网站的封面图很多都不正常显示了 哈哈哈哈哈哈 真是要命 幸好备份了 以后部署完项目能改回去 不然也是影响娱乐体验哈哈哈
好像有点去重工作要继续做?查到一个解法参考如下
https://github.com/rbenv/rbenv/issues/1062
好像是因为我通过两种途径重复下载了 rbenv
建议删掉git
方法下载的 保留用 brew
方法下载的rbenv
具体操作为
对了 这个解法会切换到 rbenv
本身的代码分支里去 记得切回来项目不然会一团糟糕的!
解法其中提到的一行代码的操作
grep -i rbenv ~/.* 2>/dev/null
简直惊艳啊 把全部的操作历史调出来看!就知道在哪个文档做了什么 用的是什么 shell
连我从 bash
换到 zsh
都能看出来 啧啧啧
解法里建议的要删掉的代码没有找到完全一致的 但是有个疑似的
export PATH="$HOME/.rbenv/bin:$PATH"
从操作历史看 三个相关的文档都有添了这样一条 所以我先尝试一下把他们都注释掉看看效果 这三个文档
想看看debug效果 结果运行
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
然后果断把墙关掉就正常运行了... 虽然后来继续开启墙 也能正常运行...奇奇怪怪
继续去重
嗯...看到一些资料 感觉应该要删掉
/Users/RealAnalysis/.rbenv/plugins/ruby-build/bin/rbenv-install
保留短的那文档里面的installation 但是...没有找到靠谱的方法啊...只看到一个
https://stackoverflow.com/questions/46671263/cant-install-rbenv-past-2-4-0
这样的方法...不太想尝试啊...先跳过这个不算报错的报错?
不放弃 发现bin是个文档后 查找关键词 how to remove installation in /usr/local/bin
找到更确切的 How to uninstall programs from /usr/local/bin?
总之加油
目前浏览一下提供的方法貌似都挺麻烦的 感觉挺难复原的...我觉得非必要情况别乱玩儿...建议先跳过这个去重?
担心会不会弄坏一切的时候 看到这条的解答
https://stackoverflow.com/questions/21274359/safely-removing-program-from-usr-local-bin-on-mac-osx-10-6-8
这后面甚至还给出了如何试出哪些是重复的内容 然后针对性的删掉他们 这篇提供的是一种思路
具体的删除代码嘛 看到一种跟我预计一样的
sudo rm -r /usr/local/bin/要删掉的文档名称
但是因为是sudo
开头的 我决定还是多看几篇参考资料再来尝试
嗯?!等等,这个是删除掉要保留下来的... 需要删掉的是长的那个文档...debug一半去睡觉起来就忘记重点啊啊啊 差点又坑爹到自己
所以估计要用
sudo rm -r /Users/RealAnalysis/.rbenv/plugins/ruby-build/bin/rbenv-install
但这个Users
是一个可以随便删除文档的存在吗?... 会不会有啥后果...搞坏OS系统啥的?!
发现这个 「multiple `rbenv-install'」提示是因为 ruby-build
安装导致的,所以估计是我运行多次ruby-build
导致 所以想想可不可以是删掉其中一次的ruby-build
就能成? 查关键词变成「uninstall ruby-build
」不就OK?
发觉最后可能还是要删除 短的那个文档里的rbenv-install
sudo rm -r /usr/local/bin/要删掉的文档名称
最后还是担心 所以去看官网的系统解释 其中有说明如何查看 虽然讲的是ruby-build
而不是我要删掉的installation
部分 总之能告诉你存在哪个文档是通过homebrew
的手法安装的
https://github.com/rbenv/ruby-build/wiki
还看到一个狠人 直接删掉全部的 然后全部重装...如果做到这么狠的话 我还是先试试只删掉一个文档的代码吧 没退路再全盘删掉(虽然估计又会因为删除不干净一堆冲突报错之类的 唉)
https://qiita.com/d_forest/items/f90f7bb800f27c6687c5
如果要试试只删除文档的话 我还是尝试风险小的吧 实在不行就用
brew uninstall ruby-build
这样的大招 一次性解决了再把 ruby-build
安装回去哈哈哈哈
https://unix.stackexchange.com/questions/231531/uninstalling-or-updating-programs-installed-in-usr-local
https://gist.github.com/ruario/a36052a1ae1de4edbc6ad39fe39e5385
这两资料里面讲的「删除」思路也给力 建议认真看看
又认真看了看 ruby-bulid
的官网内容 突然灵光一闪 我不就是因为乱玩 所以两种安装路径都尝试了导致了重复安装
嘛 既然基于安全考虑决定删除“via git install as an rbenv plugin”这个安装途径安装的rbenv 然后我又看到这个
加上后来看到那么多类似
所以估计可以尝试
sudo rm -r /Users/RealAnalysis/.rbenv/plugins
把这原来安装的时候就凭空创建的directory直接删掉 那么理论上来说安装时第二步用 git
复制到其中的代码也都全部删掉了 应该能删干净
玩玩看!
删除的操作很顺利 再次运行
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
进行测试 等待结果的过程里复盘一下不想用
brew uninstall ruby-build
来处理的原因是 我想保留通过 brew
安装的版本 所以如果想删掉的是通过 git
复制代码安装的版本的话 删掉通过 brew
安装的版本应该是毫无助益的 感觉自己对代码的运用又熟悉了一些 感觉真好哈哈哈
撸代码果然还是要实战啊!
太开心了!!!我的推测被证实是对的哈哈哈哈哈!!!欧耶! 进步了进步了!!!
现在终于算是「 rbenv is properly set up」 明天可以继续啦啦啦啦~
目前应该是快要把「本机环境与云服务器环境 调整成一致」的目标达到了 加油!
高兴之余 吐槽一下自己
还推测了那么久 各种查看参考资料 虽然最后推测无误 但是认真看看原来官网的资料 人家都把正确答案摆你眼前了喂!
Checking `rbenv install' support: /usr/local/bin/rbenv-install
这行就说明正常情况下 rbenv install
就应该存档在 /usr/local/bin/rbenv-install
我还在两个中间要删掉哪个看那么久资料 唉~
不过折腾一番也好 学到不少东西哈哈哈哈
啊果然出问题哈哈哈哈 之前查的ruby以及rails的路径这边都爆炸了
不要害怕 我准备再安装一次 估计没问题 直接安装到一半 赶紧停止
所以认真看了官网 https://github.com/rbenv/rbenv#how-rbenv-hooks-into-your-shell 决定用
rbenv uninstall 3.0.1
居然遇到Permission denied
幸好前面遇到过 直接加上 sudo
话说官网下半篇还有详细的如何删掉 rbenv
我还自己推测半天 唉 智商经验都不过硬 就是要多走弯路唉...
不过要高兴的是,总算把 rvm
正式换成了 rbenv
啦 而且rbenv
还正常的安装完毕 接下来安装什么 ruby啦 rails啦都是方便简单的多
无法正常运行 rails -v
要求运行 bundle install
来解决 但是连bundle install
或者 bundle update
都不能正常运行 只是说明遇到报错 查了一下解法
bundle install --path vendor/cache
这样就能运行安装gem们了
好 总之继续我已经远离很久的部署工作...真是太一波三折了哈哈哈哈
嗯 好像bundle出了大问题了...导致 cap 无法运行了? 刚刚跑了
bundle install --path vendor/cache
导致无论是 bundle install
还是 bundle update
都存到了奇怪的地方去?
Bundled gems are installed into `./vendor/cache`
应该是这个导致的无法正常运行 cap 因为相关的gem都无法正常载入?
bundle env
好厉害的代码
发现报错的内容 查一下 发现解法
ssh-add
就能进行了
但是这次的报错 不是数据库报错了 貌似集中在报错这个
rake aborted!
TypeError: no implicit conversion of Hash into Integer
这样的话 应该算是把文章一开头的bug解决了?!新开一篇记录现在开始遇到的bug吧~
对了 解惑一下
PS. 随手记录一个豆知识
如果部署成功但网页不显示,就可以用以下代码debug
sudo less /var/log/nginx/error
然后按 shift + g
能到最底下看报错信息