• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

CruiseControl.rb PATH

apache 来源:Craig Walker 5次浏览

我想在构建期间让CruiseControl.rb运行rcov。它目前已使用以下错误而失败:CruiseControl.rb PATH

sh: rcov: not found 

因为我可以运行,当我登录外壳rcov了,我觉得这是一个路径问题。 (另外,我可以在没有错误的情况下运行rake test:rcovrake cruise)。我添加了一个p 'echo $PATH'声明(用正确的反引号来执行命令;由于降价)我cruise.rake,发现道路确实是不正确的:

"/usr/local/bin:/usr/bin:/bin\n" 

的rcov可执行文件位于/ var/lib中/宝石/1.8/bin/rcov,所以难怪CC.rb找不到它。

但是,我无法弄清楚如何正确设置路径。我有这一套在我的.profile文件的底部:

PATH="$PATH:/var/lib/gems/1.8/bin/" 

这是什么使得它交互工作,但它没有被CC回升。

我在Passenger Phusion(并因此在apache下)运行CruiseControl.rb。我检查了尽可能多的文件,但我没有看到任何路径。

我可以在哪里设置路径和/或确定路径设置的位置?

===========解决方案如下:

首先,你的.profile是错误的。在其他进程可见之前,您需要导出环境变量。像这样:

export PATH=.... 

PATH=... 
export PATH 

非出口环境变量值只能从同一外壳内的过程访问。

但是这不是你的问题,因为你运行Phusion Passenger。 .profile只能被shell读取,并且由于Apache不是从shell启动的,而是从系统init进程启动的,因此无论您放入.profile中的什么都会被忽略。对于Phusion Passenger,您必须使用mod_env和SetEnv指令设置PATH,如下所示:

<VirtualHost *:80> 
    ServerName something.test 
    DocumentRoot /somewhere/to/cruisecontrol/public 
    SetEnv PATH /usr/bin:/usr/local/bin:/bin:/var/lib/gems/1.8/bin # <---- add this 
</VirtualHost> 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)