如果说要修改当前的Ruby版本,这个时候需要用到 rvm 工具,这款工具的全称是 Ruby Version Manager ,顾名思义它就是用来管理 ruby 的。
通过以下命令安装 rvm 工具
安装完成之后,需要先载入 rvm
查看所有可用的 ruby 版本
执行结果如下图:
删除指定版本的 ruby
查看已经安装的 ruby 版本
报这个ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
权限错误的解决办法
因为ruby环境系统自带,所以Mac系统为了保证自身环境的问题,对权限进行了限制,最终导致一般用户无法对系统的ruby环境相关的文件读写内容。所以解决点也就在这了
解决办法: 1第一种修改权限(不建议这么做,因为是root权限,修改权限可能对系统造成影响,这里不提供修改方法了)
2第二种 两套ruby 环境
第二种方案大体也就分成三步了:
安装针对于用户所使用的ruby环境
导入新的ruby环境的环境变量
查看是否ruby环境是否安装成功
进行安装之前,我们通过以下命令进行排查,查看当前的ruby环境是否是用的系统自带的环境
whichruby
如果ruby使用的路径如下,那么此时就是用的系统自带的ruby环境了
/usr/bin
推荐使用homebrew安装ruby环境,如果没有安装homebrew`,可以通过以下命令安装:
/bin/bash -c"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
假定已经安装了homebrew环境了,使用以下命令进行ruby的安装
brew install ruby
此时可能默认安装到了系统自带的路径,在执行,建议当前安装的最新版本 把2.7.0换成你安装成的最先版本 如果不知道最新版本 可以执行 ruby -v 查看
echo 'export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin:$PATH"' >>~/.zshrc
然后在执行
source ~/.zshrc
继续执行which ruby
此时能看到路径已经不是系统路径了,退出终端重新执行安装cocoapods,问题解决
brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便
brew类似ubuntu系统下的apt-get的功能
安装brew
brew 的官方网站: http://brew.sh/在官方网站对brew的用法进行了详细的描述
安装方法: 在Mac中打开Termal: 输入命令:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
不知道为什么, 在国内经常被屏蔽
使用brew安装软件
一个命令就搞定了, 比如安装git
brew install git
比如安装wget
brew install wget
使用brew卸载软件
卸载更方便了
brew uninstall wget
使用brew查询软件
有时候,你不知道你安装的软件的名字, 那么你需要先搜索下, 查到包的名字。
比如我要安装
brew search /wge*/
/wge*/是个正则表达式, 需要包含在/中
其他brew命令
brew list 列出已安装的软件
brew update 更新brew
brew home 用浏览器打开brew的官方网站
brew info 显示软件信息
brew deps显示包依赖
brew upgrade 升级
升级完毕后,会有一个summary(总结) 及 Caveats(注意事项),如:
php5.6
php7.0
系统中正在使用的版本php7.2
注意:
切换版本步骤:
mac下使用命令切换PHP版本,使用brew-php-switcher工具
修改apache下的http.conf配置文件信息,以对应环境中的PHP版本
参考文档: http://www.jb51.net/os/MAC/101860.html
安装完成后的记录参考:主要有Extensions \ PHP CLI \ PHP-FPM
nginx
mysql 说明了mysql的密码以及启动方式
mqsql连接的一些坑及填坑方法
使用命令 mysql -uroot 启动了mysql,但是不能操作数据,提示如下:
('mysql.infoschema'@'localhost') does not exist
然后,决定使用命令 mysql_secure_installation 来启动mysql,并填写密码,提示 ... Failed! Error: Table 'mysql.role_edges' doesn't exist :
解决办法,升级mysql:
如下:
再次使用密码登录,第一步设置密码,第二步移除anonymous user,禁止root远程登录,删除测试数据等:
再次使用密码登录,进行查询等操作,可正常使用:
mysql升级参考文档:
apache和PHP的结合文档:
外国友人的博客: