2011-07-06 23 views
10

Có lẽ tôi đang mơ ở đây, nhưng tôi tự hỏi liệu có khả năng hoàn toàn nhúng một động cơ CouchDB tối thiểu trong một ứng dụng Windows, như vậy ứng dụng có thể chạy mà không cần cài đặt (CouchDB/Erlang) trên máy tính của người dùng.Không triển khai CouchDB được nhúng trong một ứng dụng Windows?

+0

Xem http://stackoverflow.com/questions/1795628/erlang-compilation-erlang-as-stand-alone-executeable – Pindatjuh

+2

Đó thực sự là chén thánh. Erlang có một lịch sử khác so với hầu hết các ngôn ngữ phổ biến (nó không phải là một con cá bơi trong nước Unix). Như điên như thế này âm thanh, bạn có thể có may mắn hơn nhúng V8 hoặc NodeJS và sử dụng PouchDB. Nó có thể dễ dàng hơn để có được PouchDB để tính năng chẵn lẻ với Couch hơn là có thể nhúng Erlang. Các codebase lõi Couch chỉ có 20k dòng. Tôi biết điều này thật điên rồ (vì thế một lời nhận xét, không trả lời) nhưng nó không * điên rồ. – JasonSmith

+0

PouchDB có vẻ thú vị - bạn có liên kết nào không? – devios1

Trả lời

5

tôi đã cung cấp rút gọn xuống/gói khả năng này - đánh dấu vào đây https://github.com/dch/couchdb/downloads và đặc biệt là bó nạc tại 16MiB erlang + tất cả các ghế tình yêu ở đây https://github.com/downloads/dch/couchdb/couchdb-1.1.0+COUCHDB-1152_otp_R14B03_lean.7z

Một số lưu ý ngắn gọn về bundling và nhúng couchdb trên cửa sổ ở wiki.apache. org/couchdb/Quirks_on_Windows bao gồm cách ẩn cửa sổ erlang (erl.exe -detached) khi khởi động.

Hỏi danh sách gửi thư của CouchDB @user nếu bạn muốn biết thêm thông tin hoặc trợ giúp trong khi bạn có một vết nứt tại đây.

+0

Siêu, cảm ơn rất nhiều! – devios1

2

Khi không phải là giải pháp mã, bạn có thể sử dụng một trong các ứng dụng bó có thể nhúng tệp và các tệp khác vào một tệp thực thi. Một ví dụ sẽ là BoxedApp.

1

Tại sao phải bận tâm. Nó rất dễ dàng để cài đặt Erlang trên Windows. Chỉ cần gộp toàn bộ thứ bao gồm cả nhị phân erl.exe và yêu cầu trình cài đặt của bạn giải nén nó vào một thư mục. Điều duy nhất mà bạn cần phải thay đổi sẽ là các tập tin batch, hoặc tốt hơn, loại bỏ chúng và viết tập tin batch của riêng bạn để khởi động CouchDb. Ngoài ra, bạn nên sử dụng một cổng khác với cổng Erlang thông thường (hoặc cổng CouchDB thông thường) và thậm chí có thể sử dụng Erlang để sử dụng localhost làm "shortname" của nó.

+0

Một vấn đề là kích thước. Trình cài đặt là khoảng 82 meg. Điều này là vô lý đối với một ứng dụng nhỏ 2 meg. Tôi đã hy vọng có thể có một phiên bản nhúng gọn gàng hoặc một cái gì đó. – devios1

+1

Couchdb sẽ không phải là một ứng dụng nhỏ 2 meg nếu nó không tận dụng Erlang VM và các thư viện Erlang OTP. Điều đó giống như việc hỏi cách đóng gói một ứng dụng Java mà không có các thư viện JVM hoặc các lớp Java. Nếu nó giúp, đóng gói thời gian chạy Erlang của bạn, riêng biệt với các tệp .beam CouchDB. Bằng cách đó mọi người có thể nâng cấp mà không cần tải xuống "thời gian chạy Erlang" nhiều lần. –

+0

Một lý do khác là nếu bạn muốn chạy couchdb trên IIS/trên trang web lưu trữ. Bạn có quyền sao chép các tập tin và chạy trong IIS nhưng không phải để cài đặt một cái gì đó vào hệ điều hành. – DarcyThomas

1

wiki CouchDB cung cấp ít nhất một vài mẹo cho Integrating CouchDB into your Windows Applications. YMMV, từ những gì tôi có thể nói nó nhiều hơn hoặc ít hơn chỉ là lời khuyên về việc tạo ra một xây dựng relocatable. Bạn sẽ muốn tạo một người dùng/mật khẩu quản trị viên ngẫu nhiên rắn vào tệp local.ini trong suốt quá trình cài đặt và thiết lập các quyền thích hợp trên tất cả các cơ sở dữ liệu đã tạo (để bảo vệ chống lại mọi lỗ hổng có thể xảy ra trên trang web) ngoài việc đảm bảo socket ràng buộc chỉ xảy ra trên giao diện localhost mặc định.

Các vấn đề liên quan