2

我有一个别人创建的 Perl 程序,我正在调用 CruiseControl。该程序使用 Cygwin 调用 Unix 命令。但是,每次 Perl 程序使用类似 DOS 的地址调用类似 Unix 的命令时,我都会收到众所周知的错误:

cygwin warning:
   MS-DOS style path detected: E:\regression
   Preferred POSIX equivalent is: /cygdrive/e/regression
   CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
     http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

我已将用户变量和系统变量都设置CYGWINnodosfilewarning. 当我从命令行运行程序时,这消除了错误,但是当从批处理文件作为自动化进程调用时,CruiseControl 中仍然会出现错误。我已经从桌面和命令行调用了批处理文件并以管理员身份运行。没有什么变化。

其他注意事项

  • 出于这个问题的目的,我无权访问 Perl 程序
  • 我正在尝试返回 Cygwin 1.5.*,但由于我使用的是 Server 2008,因此遇到了兼容性问题
  • 这发生在其中一台分布式服务器上,而不是运行 Webdashboard 的主服务器上。
  • 我在某处读到此问题可能源于调用 CruiseControl 的不同用户,但通过将其设置为 ENV 系统变量来解决此问题
  • 是否可以修改注册表以设置 ENV 变量?

先感谢您

4

3 回答 3

0

如果 CruiseControl 通过 ssh 连接到服务器,请重新安装并在安装期间提示输入环境变量时sshd显式包含。nodosfilewarningCYGWIN

于 2012-06-27T00:06:38.103 回答
0

我这样做的方式是这样的

printf 'export CYGWIN=nodosfilewarning' >> ~/.bash_profile
于 2012-05-18T03:27:46.267 回答
0

使用修改后的环境重新安装将起作用,但如果您不想或无法重新安装,另一种方法是更改​​注册表而不是重新安装服务。

请参阅:检测到 CYGWIN windows cygrunsrv sshd 服务器和 MS-DOS 样式路径

于 2013-11-25T19:28:23.777 回答