Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins在Mac上找不到ionic CLI_Jenkins_Ionic Framework_Jenkins Pipeline - Fatal编程技术网

Jenkins在Mac上找不到ionic CLI

Jenkins在Mac上找不到ionic CLI,jenkins,ionic-framework,jenkins-pipeline,Jenkins,Ionic Framework,Jenkins Pipeline,我正试图让詹金斯在我的MacMini上构建我的Ionic项目,但它出错了 line 1: ionic: command not found script returned exit code 127 我有以下詹金斯的档案 pipeline { agent any, environment { PATH='/usr/local/bin:/usr/bin:/bin' } stages { stage('Star

我正试图让詹金斯在我的MacMini上构建我的Ionic项目,但它出错了

line 1: ionic: command not found
script returned exit code 127
我有以下詹金斯的档案

    pipeline {
      agent any,
      environment {
         PATH='/usr/local/bin:/usr/bin:/bin'
     }
      stages {
        stage('Starting') {
          steps {
            echo 'Starting'
          }
        }
        stage('npm install') {
          steps {
            sh 'npm install'
          }
        }
        stage('IOS Build') {
          steps {
            sh 'ionic cordova build ios --prod --release'
           } 
        }
      }
    }
爱奥尼亚应该在
/usr/local/bin
中,例如如果我得到以下信息

Dev-Mac-mini:bin Development$ which ionic
  /usr/local/bin/ionic
如果我从命令行运行
ionic
,就会找到它

最后,
npm
工作正常

你知道它找不到的
ionic
cli是什么吗


提前感谢

尝试使用
with env

withEnv([
  "PATH+LOCAL=/usr/local/bin"
]) {
  stage('IOS Build') {
    steps {
      sh 'ionic cordova build ios --prod --release'
    } 
  }
}

最好使用作为开发人员依赖项添加的IONAL版本。在Jenkinsfile中,您可以像下面那样调用它

sh "./node_modules/ionic/bin/ionic cordova build ios --prod --release"

在我的例子中,Jenkins的
Blue Ocean
部分似乎不喜欢您在自己的编辑器之外编辑Jenkins文件。这就是我正在做的(只是从Gitlab编辑器编辑)。也许我有一些看不见的字符,因为我甚至得到错误,说它不喜欢任何代理


我删除了所有内容,然后重新开始,这次只从Blue Ocean编辑器编辑,现在我的问题中的原始脚本运行良好,即它从提供的路径中拾取了ionic cli。

正确答案如下:


TLDR:添加
#/bin/bash-l
在jenkins作业开始时

如果您使用的是主代理通信方式,请尝试重新启动jenkins代理。否则重新启动jenkins实例或服务。我尝试使用上述方法,但当我进入Blue Ocean编辑屏幕时,从该存储库中的jenkins文件加载管道时出错。通过使用声明性语法编辑Jenkins文件,然后将其提交回存储库来更正错误。应为“}”,在第27行第1列找到了“”。`应仍然能够使用全局安装的CLI(我有全局安装的CLI,而不是本地安装的CLI)