当前位置: 首页 > 知识库问答 >
问题:

找不到詹金斯管道"纱线安装"命令

方永贞
2023-03-14

这是我的第一个Jenkins脚本,它目前在Linux上运行良好,但我迁移到MacOS(High Sierra),结果得到了shell脚本错误。

节点和纱线包安装在本地Jenkins用户上。我不明白为什么会发生这个错误,有人能帮我吗?

这是我的詹金斯档案:

node {
  stage('Check out') {
    checkout scm
  }
  stage('Prepare') {
    sh "yarn install"
  }
  stage('Test') {
    sh "yarn test"
  }
  stage('Sonar') {
    if (env.BRANCH_NAME == 'dev') {
      def scannerHome = tool 'sonar scanner';
      withSonarQubeEnv('sonar') {
        sh "${scannerHome}/bin/sonar-scanner"
      }
    }
  }
}

和完整日志:

14:43:11使用hariklee连接到https://api.github.com/******

从6c639bd70ac86cbe6a49ac0b58bcc10e3c64a375获得Jenkinsfile

耐用性等级:MAX_SURVIVABILITY

[管道]节点

在/Users/Shared/Jenkins/Home/workspace/wingman_423_ci_cd-7pssgrambtxuqresycnvodxu7izjlphqoe3kyepcsaayaffd4a中运行

[管道]{

[管道]阶段

[管道]{(签出)

[管道]结账

git rev-parse--is-inder-work-tree#timeout=10从远程Git存储库获取更改

git-config-remote。起源网址https://github.com/wingman-xyz/app.git#超时=10

无标签抓取

从https://github.com/wingman-xyz/app.git获取上游变化

git——版本#超时=10

使用GIT_ASKPASS设置凭据

git fetch--无标记--进度https://github.com/wingman-xyz/app.gitrefs/heads/423_ci_cd:refs/remotes/origin/423_ci_cd

检查版本6C639BD70AC86CBE6A49AC0B58BC10E3C64A375(423_Ciu_cd)

git配置core.sparsecheckout#timeout=10

git签出-f 6C639BD70AC86CBE6A49AC0B58BC10E3C64A375

提交消息:"詹金斯测试"

第一次建造。跳过更改日志。

[管道]}

[管道]//阶段

[管道]阶段

[管道]{(准备)

[管道]上海

[wingman_423_ci_cd-7pssgrambtxuqresycnvodxu7izjlphqoe3kyepcsaayaffd4a]运行shell脚本

  • 纱线安装

/用户/共享/詹金斯/主页/工作区/wingman_423_ci_cd-7PSSGRAMBTXUQRESYCNVODXU7IZJLJLPHQOE3KYEPCSAAYAFFD4A@tmp/耐用-cf573520/script。sh:第2行:未找到纱线:命令

[管道]}

[管道]//阶段

[管道]}

[管道]//节点

[管道]管道末端

GitHub已被通知此提交的构建结果

错误:脚本返回退出代码127

完成:失败

共有1个答案

宗翔宇
2023-03-14

PATH变量中没有warn命令。请在安装前执行npm安装-g纱线

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

如果您得到一个关于未找到npm命令的错误,那么您必须使用withEnv(){}将npm显式添加PATH

withEnv(['PATH+NODE=/something=/path/to/node/bin']) {
        stage('Prepare') {
        sh "npm install -g yarn"
        sh "yarn install"
    }
}
 类似资料:
  • 问题内容: 已解决 :感谢S.Richmond的以下答复我需要取消所有类型的存储映射,这意味着将变量和使用后作废。 附加 :搜索此错误的人员可能有兴趣使用Jenkins管道步骤- 在此处查找更多信息。 我正在尝试使用Jenkins Pipeline从用户那里获取输入,该输入作为json字符串传递给作业。管道然后使用隔离器对此进行解析,然后选择重要信息。然后,它将使用该信息与不同的作业参数并行运行1

  • 下面是我简单的jenkins pipeline groovy脚本,它将用这两个阶段和我们想要构建的作业创建一个管道,我希望在job configuration下的脚本中每次都更新用于构建和代码分析的作业名,方法是从用户界面中获取数据,用户将使用Eclipse提供构建作业名和代码分析作业名- jenkinsfile脚本:-

  • 我可以在我的笔记本电脑上成功安装jenkins online。但是,当试图离线安装詹金斯(jenkins)时(在我无法连接到互联网的办公室工作站上),情况就不妙了。在经营詹金斯家族之后。命令行战争虽然jenkins已经成功安装,但一些插件却丢失了。我设法从帖子中获得了一些帮助,如何在Jenkins中手动安装插件? 但是每个插件都必须单独下载,然后复制到我的离线机器上。所以我耍了个花招。我复制了(在

  • 问题内容: 尝试粘贴到我安装了Java JDK的位置,但是Jenkins一直说: 还尝试并得到: 任何人最后一个文件夹/文件应该是什么?我假设bin \ java,但这给我带来麻烦。 问题答案: 应该指向

  • 问题内容: 我们有几个Java项目。每个项目都有自己的交付管道。 所有管道都具有以下共同的步骤(简化): 建立项目 发布项目 部署到测试环境 部署到生产环境 项目管道仅在项目特定的属性(例如服务名称或测试和生产环境的IP地址)上有所不同。 问题是:我们如何避免所有项目都有共同之处?Jenkins的“管道作为代码”是否提供类似管道模板的内容? 我可以想象一个模板将在我们的项目管道中节省很多冗余代码/

  • 问题内容: 我有一个docker撰写文件 而且我已经配置了詹金斯工作以通过调用另一个外壳文件“ environment.sh”来执行此文件,但是它尝试执行以下错误: 我如何在jenkins服务器中下载和配置docker-compose,也没有可用的插件!,适用于docker-compose 问题答案: $ PATH环境变量中可能不存在您。 首先,您应该删除所有冲突的内容- 在大多数Linux系统上