6

自动打包脚本报ruby找不到错误

 2 years ago
source link: https://xnxy.github.io/2020/03/31/%E8%87%AA%E5%8A%A8%E6%89%93%E5%8C%85%E8%84%9A%E6%9C%AC%E6%8A%A5ruby%E6%89%BE%E4%B8%8D%E5%88%B0%E9%94%99%E8%AF%AF/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

自动打包脚本报ruby找不到错误

发表于 2020-03-31

|

更新于: 2020-03-31

| 分类于 记录

字数统计: 461

最近更新了CocoaPods,同时也更新了ruby,但在使用Jenkins自动打包的时候,发现脚本报错。在查询时发现网上很多错误信息,于是决定整理一下,方便以后查询。

编译报错内容

cntp@TPL-0000-161520deMacBook-Pro tpocrdemo % sh Packaging/AutoPackaging.sh
***********************开始build archive app文件***********************
当前目录路径-------->/Users/cntp/Desktop/tpaiface-ios/ocr-191103/tp/tpaiface/dev/iphone/tpocr-v1.0.191101/tpocrdemo
Packaging/AutoPackaging.sh: /usr/local/bin/xcpretty: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory
***********************编译失败********************************

从报错信息中可以看出在使用xcpretty时使用的相应ruby版本未找到。

于是使用open /System/Library/Frameworks/Ruby.framework/Versions 打开相应目录发现目录中下级目录为/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby跟预期版本不符。

那就切换一下即可。

查看ruby当前版本

cntp@TPL-0000-161520deMacBook-Pro ~ % rvm current
ruby-2.5.1
cntp@TPL-0000-161520deMacBook-Pro ~ % ruby --version
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin18]

在使用ruby --versionrvm current指令查看版本时发现ruby的版本为2.5.1,而电脑中的那个目录为2.6,看来需要更新ruby,不过理论到排查到这里,只要切换下ruby的版本就可以了。

切换ruby版本

cntp@TPL-0000-161520deMacBook-Pro ~ % rvm --default use 2.5.1
Using /Users/cntp/.rvm/gems/ruby-2.5.1

因为目录电脑安装的ruby的版本为2.5.1所以使用rvm --default use 2.5.1指令将Mac上的ruby的版本切换到2.5.1

运行脚本验证

*************************自动打包结束**************************
README.md ipa-1.0 tpocr-ios-v1.0.191101.zip
doc ipa-1.0.zip tpocr接口设计说明.md
************************* done! 😎 **************************
打包完成,本次共节约 4 分钟

运行脚本,发现脚本已经不会报错,说明问题已经解决。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK