2012-09-03 10 views
6

Tôi gặp sự cố khi tải jekyll để làm việc với Ruby bằng Cygwin trên Windows 7 64 bit. Tôi đã có kết quả tốt hơn bằng cách sử dụng rubyinstaller + devkit. Nó sẽ thực sự tốt đẹp nếu tôi có thể sử dụng rubyinstaller ruby ​​bên trong Cygwin.Có cách nào để làm cho trình chơi rubyinstaller đẹp hơn với Cygwin không?

Tuy nhiên, tôi nhận được thông báo sau khi tôi cố gắng thực hiện cào.

 
$ rake page name="pages/about.md" 
C:\Ruby193\bin\ruby.exe: No such file or directory -- /cygdrive/c/Ruby193/bin/rake (LoadError) 

Có cách nào để làm cho trình chơi rubyinstaller đẹp hơn với Cygwin không?

+0

có thể trùng lặp của đường dẫn [RubyGems + Cygwin: POSIX không được tìm thấy bởi ruby.exe] (http://stackoverflow.com/questions/3831131/rubygems-cygwin-posix-path-not-found-by-ruby-exe) –

Trả lời

5

Vấn đề là Cygwin chuyển đổi tất cả đường dẫn tập lệnh thành đường dẫn cygwin (/cygdrive/...).

Không có giải pháp cho điều đó vì lời gọi của tập lệnh được tạo từ bash trên rake scrip gọi Ruby nguyên gốc.

Có rất nhiều vấn đề khác mà Cygwin sẽ gây ra, và một số được bảo hiểm trong RubyInstaller troubleshooting page

Một thay thế sẽ được gọi rake.bat trực tiếp, bỏ qua phát hiện công việc Cygwin.

Nhưng Cygwin không thích tệp hàng loạt, điều này buộc bạn phải làm cmd.exe /C rake.bat và đó là dòng lệnh ồn ào.

Phương án thay thế khác là cài đặt một cái gì đó như gem-exefy (gem install gem-exefy) và tạo tệp thi hành cho các đá quý đã cài đặt của bạn (rake.exe).

Bằng cách đó, bạn gọi rake.exe thay vì cho phép Cygwin tìm ra.

Một cách khác là sử dụng MSYS Bash (có trong DevKit) thay vì Cygwin, chạy tốt hơn Cygwin, nhưng bạn vẫn có vấn đề với tệp batch.

Như bạn có thể thấy, trộn lẫn không phải bản địa (Cygwin) với nguồn gốc (RubyInstaller) có rất nhiều tác dụng phụ.

+0

Cảm ơn! Tôi đã đi các tuyến đường đá quý-exefy. Một sự bất tiện nhỏ để bao gồm phần mở rộng .exe nhưng bây giờ ít nhất tôi không phải sử dụng cả cmd.exe và cygwin :) –

38

tôi chỉ cần đặt một vài trong số những trong .bash_profile của tôi:

alias gem=gem.bat 
alias irb=irb.bat 
alias rake=rake.bat 

Tôi chưa bao giờ có bất kỳ vấn đề mà Luis đề cập đến.

+0

Thú vị, Cygwin 1.7? Tôi đã có một loạt các vấn đề với Cygwin cố gắng để đọc các tập tin batch và không giải thích chúng đúng cách. Rất vui khi nghe các tập tin batch phù hợp với bạn :) –

+0

Vâng, mẹo có thể là đảm bảo chúng nằm trong PATH của bạn và không sử dụng đường dẫn đầy đủ khi bạn chạy chúng – pguardiario

+2

Cảm ơn bạn, điều đó đã hoạt động hoàn hảo. –