Cách tích hợp tốt hơn môi trường phát triển unix vào Windows [đã đóng]


8

Tôi chủ yếu là người dùng Windows nhưng tôi thực hiện hầu hết sự phát triển của mình (chủ yếu là phát triển web) bằng các công cụ và phần mềm unix. Tôi đã từng qua lại giữa việc sử dụng một máy ảo dùng riêng cho Ubuntu trên Virtualbox và sử dụng một số công cụ trực tiếp trong các cửa sổ (dirit, python, django), nhưng không có cách tiếp cận nào trong số này là hoàn toàn thỏa đáng.

Tôi muốn nghe về cách các nhà phát triển khác sử dụng để tích hợp tốt hơn một quy trình làm việc unix vào các cửa sổ. Ví dụ, sự tích hợp chặt chẽ hơn giữa linux và vm và windows. Bản demo mơ hồ cho thấy VM có thể hoạt động như thế nào trong thư mục dự án windows và tôi thấy điều đó thật tuyệt. Tôi muốn nghe về các công cụ và mẹo khác có thể bắt chước quy trình công việc mà người ta có thể tìm thấy trên OS X (tất nhiên tôi hiểu rằng nó không thể được tích hợp chặt chẽ trên Windows vì nó không có nền tảng unix giống nhau).

Tái bút: Tôi cũng đã thử cygwin

EDIT để làm rõ về những gì tôi thấy thiếu (nhờ axblount đã chỉ ra điều đó): các công cụ unix như msys et al không hoạt động tốt như các đối tác unic bản địa của chúng. Nhiều tập lệnh, trình cài đặt yêu cầu cấu hình thêm hoặc hoàn toàn không hoạt động. Ví dụ, để virtualenvwrapper hoạt động không đơn giản lắm. virtualbox: lý tưởng nhất là tôi muốn sử dụng phần mềm windows (photoshop, văn bản siêu phàm 2) liền mạch với linux. Tôi chủ yếu sử dụng máy khách FTP atm để di chuyển qua các tệp được chỉnh sửa ở phía cửa sổ, đây là một quá trình tẻ nhạt.

TÓM TẮT: Dường như không có giải pháp thành lập. Là một giải pháp tạm thời, có lẽ tôi sẽ cố gắng sử dụng các phiên bản gốc của khung và thư viện thông qua dòng lệnh windows khi có thể và chuyển sang một công cụ như vagrant cho các chương trình không tương thích.

THÔNG TIN THÊM TỪ TRẢ LỜI VÀ NHẬN XÉT: Vấn đề nhạy cảm với trường hợp dường như có tác dụng đối với các cửa sổ như được chỉ ra bởi @GlenPeterson


Bài viết về Stack Overflow liên quan: stackoverflow.com/questions/1414383/unix-style-tools-on-windows
Oded

Bạn dường như đã bao phủ các căn cứ thông thường. Bạn cảm thấy thiếu điều gì từ những thứ bạn đã thử?
axblount

@axblount Tôi đã chỉnh sửa câu hỏi
Shigar Kenze

Tại sao không làm cho sự lao dốc và ghi đè lên Windows với Linux? :)
Earlz

Bạn vẫn cần có thể kiểm tra trên các trình duyệt web Windows, vì vậy thay thế hoàn toàn Windows bằng Linux là không khôn ngoan.
Nathan Pilling

Câu trả lời:


7

Hầu hết sự phát triển của bạn (về cơ bản là phát triển web) sử dụng các công cụ và phần mềm unix.

Bạn đã thử nghiệm các lựa chọn thay thế khác nhau để sử dụng các công cụ đó trong Windows nhưng đến bây giờ, bạn vẫn chưa tìm thấy công cụ nào hoạt động tốt như thực tế.

Sau đó, bạn thực sự nên xem xét việc tự chuyển sang Linux làm HĐH máy tính để bàn và ảo hóa Windows cho mọi thứ khác.

Tin tôi đi, bạn sẽ không hối hận đâu. Máy tính để bàn của bạn sẽ nhanh hơn, an toàn hơn, không có vi-rút và bạn sẽ có tất cả các công cụ bạn cần cho các dự án phát triển của mình.

BIÊN TẬP:

Có thể nhận xét tuyệt vời từ @GlenPeterson:

Nếu bạn đang triển khai lên Unix / Linux thì bạn nên làm việc trên một hệ điều hành phân biệt chữ hoa chữ thường. Sự thiếu hiểu biết của Windows có thể khiến bạn gặp vấn đề vào một ngày nào đó.


Tôi đã sử dụng Linux từ năm 1998 vì vậy tôi có thể khẳng định rằng tôi biết rõ về nó. Nói chung tôi thích Linux rất nhiều (đặc biệt là Ubuntu và các công cụ phái sinh). Nhưng sau khi qua lại giữa cả hai, không còn nghi ngờ gì nữa, Windows phục vụ nhu cầu của tôi tốt hơn (photoshop, chơi game, hỗ trợ phần cứng). Bởi vì vấn đề phần cứng vẫn xảy ra ngày hôm nay, tôi thích ảo hóa Linux trên Windows hơn là cách khác. Trong công việc tôi sử dụng một hộp Linux chuyên dụng bên cạnh máy tính windows của tôi. Nói chung, tôi đồng ý rằng nó là một hệ điều hành tuyệt vời!
Shigar Kenze

1
Chà, tôi đã chuyển sang Linux tại nơi làm việc 4 năm trước. Tôi không chơi game tại nơi làm việc;) và thao tác hình ảnh nhỏ tôi làm, tôi làm điều đó trong Gimp. Và Ubuntu đã đi một chặng đường dài trong hỗ trợ phần cứng trong hai năm qua. Đó là thực tế p & p bây giờ. Và không có virus.
Tulains Córdova

3
Nếu các dự án của bạn sẽ được triển khai trên * nix, bạn cần phải làm việc trên một hệ điều hành phân biệt chữ hoa chữ thường. Tôi đã chuyển sang Linux như máy tính để bàn chính của tôi 3 năm trước. Lubfox thiếu một số tính năng máy tính để bàn tôi thực sự thích. Hãy thử Xubfox thay thế. Nếu máy của bạn có card đồ họa nVidia, bạn nên sử dụng phần cứng tốt. Tôi chạy 3 phiên bản Windows khác nhau trong VirtualBox để thử nghiệm. Tôi có Photoshop trong một trong số đó, nhưng thường sử dụng GIMP. Tôi không chơi trò chơi, nhưng Steam cho Linux (bởi Valve) sẽ giải quyết điều đó cho bạn trong 6 tháng tới. Trở thành một người thử nghiệm beta và làm cho nó xảy ra sớm hơn!
GlenPeterson

1
Chỉ cần chồng chất, công ty phát triển web của tôi bắt đầu cuộc sống 8 năm trước với tư cách là một cửa hàng của Microsoft nhưng luôn được triển khai đến một máy chủ * nix. Một năm sau, tất cả chúng ta đều là * nix / BSD và tất cả những gì còn lại của Windows ngày nay là một hộp cũ trong góc để thử nghiệm IE trên.
Cướp

1
Nếu bạn làm việc / triển khai đến môi trường * nix, làm việc trực tiếp trên một môi trường sẽ mở ra rất nhiều khả năng bạn sẽ không thể làm khác được. Trừ khi bạn đắm mình vào môi trường, nếu không bạn sẽ cào lên bề mặt. Tôi đã ở một vị trí tương tự như bạn khoảng một năm trước và không hối hận khi chuyển sang Ubuntu trong một giây. Vì vậy, nhiều công cụ không cổng tốt, hoặc tất cả.
Adrian Schneider

4

Nếu bạn đang triển khai phần mềm của mình trên máy chủ Linux, bạn nên thực hành triển khai phần mềm của mình trên máy chủ Linux (ngay cả trong máy ảo). Làm cho quá trình triển khai của bạn tự động. Phần quan trọng nhất là phân phối và triển khai mã. Bạn phải liên tục xây dựng và triển khai trên loại hệ thống mục tiêu của mình.

Tìm cho mình một thiết bị đầu cuối tốt và học cách sử dụng nó. Tôi sử dụng Putty và nhận thấy nó tốt hơn rất nhiều so với cygwin và msys.

Một số hệ thống tích hợp liên tục cho phép bạn chạy và kiểm tra mã từ xa trước khi được phép cam kết với VCS của bạn. Sử dụng chức năng này trên loại hệ thống mục tiêu của bạn có thể ngăn chặn rất nhiều vấn đề.


Tôi thực sự sử dụng putty trong công việc. Tôi thừa nhận tôi ít hiểu biết về các hệ thống tích hợp liên tục. Một trong số này có thể được sử dụng để tự động đẩy các tệp vào VM? Rằng sẽ làm việc. Tôi giả sử hầu hết trong số họ chạy trên windows? Tôi đang tìm kiếm điều đó.
Shigar Kenze

1

Nếu bạn đang chạy phiên bản Windows gần đây, hãy xem SUA , Hệ thống con cho Ứng dụng Unix. Nó có shell (ksh) và hỗ trợ hơn 300 lệnh và tiện ích Unix phổ biến. Hầu hết các tài liệu nói về Server 2003 R2, nhưng nó cũng cài đặt trên Windows 7.


Hấp dẫn. Tôi hy vọng họ tiếp tục cập nhật này. Dù sao tôi cũng sẽ cho nó một phát súng. Tôi thích nó đã sử dụng cmd.exe (và có lẽ cũng là powershell)
Shigar Kenze
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.