Vì vậy, tôi đang phát triển Sinatra cho cả windows và linux. Vấn đề là tôi đang sử dụng Thin thay vì Webrick và eventmachine cho các cửa sổ chỉ hoạt động với một phiên bản trước khi phát hành trong khi Linux sử dụng ổn định mới nhất. trong gemfile bạn tất nhiên không thể bao gồm các viên ngọc cùng với các phiên bản khác nhau như vậy:sử dụng trình bao để tải các phiên bản đá quý khác nhau cho các nền tảng khác nhau
gem "eventmachine", "~> 1.0.0.beta.4.1", :group => :development_win
gem "eventmachine", group => :development_linux
gem "thin
tôi đã tự hỏi nếu có một cách để làm việc xung quanh này, có thể sử dụng một gemfile cho các cửa sổ và một gemfile cho linux, những gì lệnh sẽ được tải một hay khác. Có một cách để có thể trong git quản lý chỉ gemfile cho hai nền tảng khác nhau, có lẽ thông qua một chi nhánh cho chỉ các tập tin (không biết nếu đó là có thể từ những gì tôi đã đọc của git chi nhánh).
hmm, giải pháp đầu tiên ném cùng một lỗi về việc có hai đá quý được chỉ định trong gemfile. Câu lệnh có điều kiện hoạt động tốt. – indigo0086
Và cách tiếp cận thứ hai là không hợp lệ, vì nó lưu trữ một hoặc một phiên bản đá quý khác vào 'Gemfile.lock'. Nó không thể lưu trữ cả hai. Vì vậy, nếu bạn chuẩn bị 'Gemfile.lock' trên một máy tính Win32 dev sau đó triển khai nó vào Linux, bạn sẽ nhận được cùng một phiên bản sai. Vì vậy, tôi vẫn đang tìm một giải pháp hợp lệ. –
Cách tiếp cận nền tảng hoạt động tốt chỉ có các đá quý khác nhau được đặt tên cho các nền tảng khác nhau, thậm chí có thể cam kết Gemfile.lock và giữ cho nó ổn định (không giống như cách tiếp cận nếu khác) – prusswan