fir-cli icon indicating copy to clipboard operation
fir-cli copied to clipboard

本地执行命令运行正常, 但 jenkins 下 fir publish 报错

Open louis2610 opened this issue 6 years ago • 6 comments

/usr/local/rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems.rb:284:in find_spec_for_exe': can't find gem fir-cli (>= 0.a) with executable fir (Gem::GemNotFoundException) from /usr/local/rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems.rb:303:in activate_bin_path' from /usr/local/rvm/gems/ruby-2.6.5/bin/fir:23:in <main>' from /usr/local/rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in eval' from /usr/local/rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `

' Build step 'Execute shell' marked build as failure

louis2610 avatar Dec 14 '19 03:12 louis2610

本地执行命令正常,在jenkins中执行此命令会报上述异常

louis2610 avatar Dec 14 '19 03:12 louis2610

大概率环境变量有问题.

你可以重新配置你的环境变量, 并确保脚本前面使用的是 #!/bin/bash -l 来开启一个 login shell

如果你不会配置的话 请在 jenkins plugin 中搜索 rvm plugin 之后在插件中匹配 你在 rvm 中安装的 ruby 版本 2.6.5

jicheng1014 avatar Dec 14 '19 05:12 jicheng1014

请问下你这个问题解决了吗? @louis2610

RockXeng avatar Mar 03 '20 12:03 RockXeng

请问下你这个问题解决了吗? @louis2610

http://blog.betaqr.com/use-fir-cli-in-jenkins/

jicheng1014 avatar Mar 09 '20 08:03 jicheng1014

tips 这种问题 绝大多数 都是因为 jenkins 脚本的首行 没有加

#!/bin/bash --login  

导致的

建议调试的时候这么执行

#!/bin/bash --login

rvm list   # 确保 rvm 正确安装
ruby -v  # 查看 ruby 的版本, 请确保大于 2.4.0
gem install fir-cli  # 现场安装fir-cli , 如果安装过, 则会略过
fir -v  # 查看 fir-cli 的版本

# 在这里执行 fir publish xxxxx

jicheng1014 avatar Mar 25 '20 03:03 jicheng1014

在shell的第一行加入这个试试 #!/bin/bash --login

LingXin94 avatar Jul 09 '21 03:07 LingXin94