首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mac上的Jenkins :不能运行程序“p依赖性”

在Mac上的Jenkins :不能运行程序“p依赖性”
EN

Stack Overflow用户
提问于 2012-11-02 23:05:19
回答 2查看 2.2K关注 0票数 0

每次我尝试运行一个构建时,我都会看到这样的一行:

代码语言:javascript
复制
/Users/Shared/Jenkins/Home/jobs/dghhtreew/workspace/build.xml:28:
The following error occurred while executing this line:
/Users/Shared/Jenkins/Home/jobs/dghhtreew/workspace/build.xml:39: Execute failed: java.io.IOException: Cannot run program "pdepend": error=2, No such file or directory

下面是来自我的build.xml的相关部分,它是由自动生成的:

代码语言:javascript
复制
...
 <target name="parallelTasks" description="Run the pdepend, phpmd, phpcpd, phpcs, phpdoc and phploc tasks in parallel using a maximum of 2 threads.">
  <parallel threadCount="2">
   <sequential>
    <antcall target="pdepend"/>
    <antcall target="phpmd"/>
   </sequential>
   <antcall target="phpcpd"/>
   <antcall target="phpcs"/>
   <antcall target="phpdoc"/>
   <antcall target="phploc"/>
  </parallel>
 </target>
 <target name="pdepend" description="Generate jdepend.xml and software metrics charts using PHP_Depend">
  <exec executable="pdepend">
   <arg line="--jdepend-xml=${basedir}/build/logs/jdepend.xml
              --jdepend-chart=${basedir}/build/pdepend/dependencies.svg
              --overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg
              ${source}" />
  </exec>
 </target>
... 

显然,Jenkins用户找不到这些命令什么的。当我通过终端登录到Jenkins时:

代码语言:javascript
复制
sudo -s -H -u jenkins 

并尝试pdepend --它的工作方式与预期的一样。但出于某种原因,在Jenkins服务器上执行时,它将无法工作。我尝试在可执行行中设置绝对路径,但结果是相同的。我没有搞砸安装什么的,我有最新版本(1.488)的詹金斯通过mac安装程序

为什么詹金斯什么都不能做?

EN

回答 2

Stack Overflow用户

发布于 2012-11-03 14:21:36

这是执行任务的执行路径问题。尝试指定path命令的整个路径。

代码语言:javascript
复制
  <exec executable="/complete/path/to/command/pdepend">
  ..

更新

如果仍然不能工作,请检查pdepend命令的权限,以确保它是由jenkins用户执行的。

在直接运行when命令时,也值得检查返回代码:

代码语言:javascript
复制
sudo -u jenkins /complete/path/to/command/pdepend || echo non-zero return code
票数 2
EN

Stack Overflow用户

发布于 2014-06-07 18:29:02

也许您还没有安装命令,所以对我来说,最简单的方法是通过composer:

代码语言:javascript
复制
composer global require 'pdepend/pdepend=*'

如果您没有作曲家,请安装它:

代码语言:javascript
复制
curl -sS https://getcomposer.org/installer | php

php composer.phar global require 'pdepend/pdepend=*'

让我们来添加路径变量,您不需要添加路径

  1. 请点击“管理詹金斯”
  2. 单击配置系统
  3. 查找“环境变量”复选框并确保选中该复选框
  4. 添加新:名称: PATH值:$PATH:/Users/YOUR/..composer/value/bin
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13204233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档