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

ユーザー変数とシステム変数の両方を に設定CYGWINしましたnodosfilewarning。これにより、コマンド ラインからプログラムを実行するとエラーが解消されますが、バッチ ファイルから自動化されたプロセスとして呼び出されると、まだ CruiseControl でエラーが発生します。デスクトップとコマンド ラインから両方のバッチ ファイルを呼び出し、管理者として実行しました。何も変わりません。

その他の注意事項

  • この問題のために、私は Perl プログラムにアクセスできません。
  • Cygwin 1.5.* に戻そうとしていますが、Server 2008 を使用しているため、互換性の問題が発生しています。
  • これは、Webdashboard を実行しているメイン サーバーではなく、分散サーバーの 1 つで発生しています。
  • この問題は別のユーザーが CruiseControl を呼び出していることが原因である可能性があることをどこかで読みましたが、これを ENV システム変数として設定することで問題を解決する必要がありました。
  • レジストリを変更して ENV 変数を設定することはできますか?

前もって感謝します

4

3 に答える 3

0

私のやり方はこんな感じです

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

CruiseControl が ssh 経由でサーバーに接続している場合は、再インストールし、インストール中に環境変数の入力を求められたらsshd明示的に含めます。nodosfilewarningCYGWIN

于 2012-06-27T00:06:38.103 に答える
0

変更した環境での再インストールは機能しますが、再インストールしたくない場合、または再インストールできない場合は、サービスを再インストールする代わりにレジストリを変更することもできます。

参照: CYGWIN Windows cygrunsrv sshd サーバーと MS-DOS スタイルのパスが検出されました

于 2013-11-25T19:28:23.777 に答える