本文目录一览:
MAC电脑安装cocoapods ruby 2.6.0 权限问题
报这个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 )"
假定已经安装了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,问题解决
ruby语言,怎么读取给定路径的文件,把里面内容读出来不是打开。。。
举例:加入该rb文件名为xx.rb,路径为xx/xx.rb,需要分析的文件为 yy/yy.txt
命令行调用rb文件(假设ruby.exe加入了环境变量):xxxruby xx/xx.rb yy/yy.txt
则该参数(yy/yy.rb)通过命令行传给了Ruby解释器,且解释器会将yy/yy.rb赋值给 ARGV[0](ARGV是一个数组常量),所以可以在程序中引用ARGV[0]来获取命令行中传入的路径(yy/yy.txt)-ruby文件路径
xx.rb文件可以这样开始:
txt_path = ARGV[0]
#异常处理,判断txt_path是否合法,略!!
text = IO.read(txt_path)
#以下为对文本text的分析.....
Ruby获取文件路径的父路径的问题
Dir.pwd 取出当前路径 + "/../"
Dir.pwd + "/../"
指定路径+"/../" 这样就能得到上级目录
你想要的直接方法没有,这个我已经找过了!
应为我也有和你一样的应用!