Jenkins 运行 fastlane 脚本时未安装 Yarn

Yarn is not installed when Jenkins runs fastlane script

我有 react-native 移动项目,我为 ios 和 android 创建了 fastlane 脚本来构建和推送应用程序。如果我从终端手动 运行 脚本,脚本工作正常。

但现在,我想 运行 从 Jenkins 获取它们。我在 mac 系统上工作。我授予 Jenkins R/W 对我的主文件夹的权限,因此它能够在已设置的项目中构建应用程序。我还更改了 Jenkins 的工作区,其中放置了移动项目。

对于fastlane,我安装了yarn插件。而现在的问题是,当 Jenkins 运行s fastlane 脚本时,似乎没有安装 yarn。这里有一个例外:

Shell command exited with exit status 127 instead of 0.    

据我所知,它告诉我没有安装纱线,但事实并非如此,因为手动启动的脚本工作正常。

那么,为什么会这样?我应该改变什么?请帮助我。

Jenkins 不太可能运行与您的手册 运行 是同一个用户 运行。

当你说你安装了 yarn 插件时,那个插件是什么?我不知道有一个。你是说 nodejs plugin?

我总是在安装 yarn 的管道中这样做:

stage('Prepare') {
    sh "npm install -g yarn"
}

@thekbb 是对的。所以,我做了什么:

根据此article ,我将 nodeJS 插件添加到 Jenkins,配置它,在 Jenkins 中创建一个管道并添加此代码

sh "npm install -g yarn"
sh "yarn install"