2010-12-17 27 views
6

Windows Vista'da Cygwin 1.77 kullanıyorum. Kabuğun içindeki sbt çıkışındaki sorunlarla karşılaşıyorum. Bazı alakalı çevre vars: Cybwin/vista ile ilgili iki sorun

alt text

nasıl düzeltebilirim: Ben sbt test yazdığınızda

TERM=cygwin 
CYGWIN=server 
LANG=C.UTF-8 

(1) kabuk, basılamaz karakterler bir sürü içerir?

Benim sbt kabuk komut dosyası şuna benzer:

dir=`dirname $0` 
stty -icanon min 1 -echo > /dev/null 2>&1 
java -Djline.terminal=jline.UnixTerminal -Xmx512M -jar 
    `cygpath -w $dir`/sbt-launch-0.7.4.jar "[email protected]" 
stty icanon echo > /dev/null 2>&1 

(2) sbt komut Ben sarmaşık yoluyla indirmek için nasıl yapılandırılacağı bilmiyorum scalatest kavanoz & bulamıyorum. Kavanozu lib klasörüne bıraktığımda çalışır.

cevap

6

) 1 ilgili olarak: Cygwin konsolu çalışır

yolu, Windows konsol API çağrıları için Unix terminal kontrol dizilerini eşler Cygwin DLL bir parçası olduğu yönünde. Bu terminal öykünmesi, Cygwin DLL dosyasının bir parçası olduğu için, Java çalışma zamanı gibi Cygwin olmayan programlarda kullanılamaz. Bunun yerine, java doğrudan kaçış sıralarını anlamayan Windows konsoluna konuşuyor olacak. Bu yüzden doğrudan ekranda görünürler.

Bunu çözmek olabilir birkaç yolu vardır:

  • yerine Unix kontrol dizilerinin, Windows konsol API kullanmak için Java/Scala söyle. Sanırım -Djline.terminal=jline.UnixTerminal seçeneğini kaldırarak bunu yapabilirsiniz.
  • CYGWIN=tty seçeneğini ayarlayın. Bununla birlikte, Cygwin konsolunda çağrılan programların I/O'ları doğrudan konsol penceresine bağlanmak yerine bir “sözde terminal” (pty) cihazına bağlanmış olur. Bu, terminal öykünme özelliklerini Cygwin dışındaki programlarda kullanılabilir hale getirir, ancak Windows konsol API'sini kullanan programların artık düzgün çalışmayacağı anlamına gelir.
  • Cygwin'in diğer terminal öykünücülerinden birini kullanın: mintty, xterm, rxvt (-unicode). Bunlar, daha iyi terminal öykünmesi ve varsayılan konsoldan daha hassas kullanıcı arabirimleri sunar, ancak yine Windows konsol API'sini kullanan programları desteklemez.

(Btw, CYGWIN=server seçenek kullanılmıyor; etkinleştirilmiş bu özelliği zaten her zaman açıktır.)

+0

mintty çalıştırarak bu çözüldü –