Có thể sử dụng nhiều phiên bản đường ray bằng rbenv (ví dụ: 2.3 và 3.1) không? Điều này thật dễ dàng với những viên đá quý trong rvm, nhưng tôi tự hỏi cách tốt nhất là làm gì bây giờ tôi đã chuyển sang rbenv (ngoài ra, tôi đang tìm cách để làm điều đó mà không có rbenv-gemset).Làm thế nào để bạn sử dụng nhiều phiên bản đường ray với rbenv?
Trả lời
không chắc chắn nếu bạn có câu trả lời cho điều này, nhưng tôi nghĩ tôi sẽ cung cấp những gì tôi đã làm và dường như nó hoạt động.
Vì vậy, khi bạn cài đặt rbenv và bạn sử dụng nó để cài đặt phiên bản ruby cụ thể, bạn có thể cài đặt nhiều phiên bản đường ray cho ruby đó.
Bước 1. Cài đặt bất kỳ phiên bản (s) của đường ray bạn muốn mỗi phiên bản ruby
% RBENV_VERSION=1.9.2-p290 rbenv exec gem install rails --version 3.0.11
Bằng việc sử dụng "RBENV_VERSION = 1.9.2-p290" tiền tố trong dòng lệnh của bạn, bạn xác định ruby rbenv cần quan tâm.
Sau đó, sau đó với lệnh "rbenv exec", bạn có thể cài đặt đường ray. Chỉ cần sử dụng cờ phiên bản như trong ví dụ để chỉ định phiên bản bạn muốn. Không chắc chắn nếu bạn có thể cài đặt nhiều phiên bản trong một shot, nhưng tôi chỉ cần chạy lệnh này nhiều lần khi cần thiết để cài đặt mỗi phiên bản tôi muốn.
Lưu ý: Tất cả điều này sẽ được quản lý trong thư mục rbenv của bạn, vì vậy nó hoàn toàn an toàn và được chứa.
BƯỚC 2. Tạo dự án đường ray mới bằng cách chỉ định phiên bản đường ray bạn muốn.
% RBENV_VERSION=1.9.2-p290 rbenv exec rails _3.0.11_ new my_project
BƯỚC 3. Đừng quên để đi vào dự án đó và thiết lập các phiên bản rbenv ruby địa phương.
% cd my_project
% rbenv local 1.9.2-p290
Bây giờ nếu bạn muốn xóa dự án này, chỉ cần xóa nó như bình thường.
Nếu bạn muốn xóa/quản lý một phiên bản đường ray từ đá quý rbenv, bạn có thể sử dụng lệnh ngọc bình thường, chỉ cần tiền tố dòng lệnh của bạn với:
% RBENV_VERSION=1.9.2-p290 rbenv exec gem {some command}
Và dĩ nhiên, bạn có thể xóa một phiên bản ruby hoàn chỉnh và tất cả các miếng chêm của nó, vv được quản lý trong rbenv khá dễ dàng. Tôi thích cách tự chứa mọi thứ.
Hy vọng điều này sẽ hữu ích.
Để tham khảo, đây là một bước đi khá tốt thông qua ít nhất là một số công cụ này:
cảm ơn câu trả lời này, nhưng tôi tự hỏi không thể bạn chỉ cần tạo dự án đường ray và chỉ định phiên bản đường ray bên trong dự án và sau đó thực hiện cài đặt bó? bạn có thể giải thích câu trả lời của bạn sẽ là giải pháp tốt hơn không? Tôi không có kinh nghiệm nên sẽ rất hữu ích nếu biết. cảm ơn – Leahcim
bằng cách này, khi bạn tạo dự án với tiền tố đó, bạn có sử dụng tiền tố đó cho mọi lệnh bạn thực hiện trong dự án không? tiền tố + gói cài đặt? tiền tố + gem install {gem name} etc? – Leahcim
Không, bạn không cần tiếp tục sử dụng tiền tố. Câu trả lời của tôi ở đây là một chút đáng lo ngại vì RVM là một trình quản lý gói hoàn chỉnh (phiên bản ruby + ray), và tôi đã cố gắng minh họa một cách để làm điều gì đó tương tự với rbenv, không giống như RVM chủ yếu là một người quản lý ruby. OP đã hỏi về việc sử dụng nhiều phiên bản railsv với rbenv, vì vậy tôi đã mô tả cách cài đặt phiên bản rails cụ thể cho phiên bản ruby cụ thể (trong đó bạn có thể cài đặt nhiều), sau đó chọn cái nào để sử dụng khi tạo dự án với ruby đó phiên bản. Điều này sẽ cung cấp cho bạn một cái gì đó tương tự như RVM. – Nathan
Có một plugin rbenv gọi rbenv-gemset mà nên cư xử tương tự như rvm gemset
-Command nhưng vì rbenv không bao giờ có ý định làm việc theo cách này, tôi đã không thử nó.
Tôi thường quản lý các phiên bản Rails với Bundler khi Nathan đề xuất trong các nhận xét của một trong các câu trả lời khác.Tôi tạo ra một Gemfile với mong muốn phiên bản Rails của tôi, chạy bundle install
, tạo ra các ứng dụng Rails, hãy để nó thay thế Gemfile và để Bundler tiếp quản:
mkdir my-rails-app
cd my-rails-app
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'rails', '3.2.17'" >> Gemfile
bundle install
bundle exec rails new . --force --skip-bundle
bundle update
Nếu bạn muốn biết thêm chi tiết, tôi đã viết an article on my blog về nó.
Hy vọng điều đó sẽ hữu ích!
đó là một bài viết hay. Nhờ bundler – onmyway133
đó là giải pháp tôi đang tìm kiếm +1 – Qchmqs
- 1. Nhiều phiên bản Rails với rbenv
- 2. Làm cách nào để biết phiên bản ứng dụng đường ray nào đang sử dụng
- 3. Làm thế nào để bạn sử dụng nhiều phiên bản của cùng một gói R?
- 4. Làm thế nào để nội tuyến css khi sử dụng đường ray tài sản đường ray
- 5. Làm cách nào để buộc Rails sử dụng phiên bản Ruby (được quản lý với rbenv) mà tôi muốn?
- 6. Làm thế nào để buộc Rails sử dụng đá quý của phiên bản X
- 7. Làm thế nào để bạn áp dụng một miếng vá lên ruby trên đường ray?
- 8. Làm thế nào để quản lý nhiều phiên bản đá quý và ruby với RVM?
- 9. Làm thế nào để Ứng dụng iPhone tương thích với nhiều phiên bản SDK (firmware)
- 10. Đường ray sử dụng send_file để gửi nhiều tệp
- 11. Đường ray, làm cách nào để bạn gửi biểu mẫu có liên kết văn bản?
- 12. Nhiều đường ray ORM
- 13. rbenv: Còn sống sót mà không gemsets
- 14. Làm cách nào để sử dụng nhiều bộ đệm trong đường ray? (thực tế)
- 15. Làm thế nào để bạn sử dụng i18n với Node.js?
- 16. In phiên bản Đường ray trong chế độ xem?
- 17. Làm cách nào để sử dụng CSS với ứng dụng ruby trên đường ray?
- 18. Sử dụng nhiều phiên bản rubygems với rvm?
- 19. Làm thế nào để bạn hiển thị đầu ra "đầu hg" khi bạn đang sử dụng phiên bản TortoiseHG 2.1.2?
- 20. Giám sát nhiều ứng dụng đường ray
- 21. Cách xóa bảng phiên đường ray
- 22. Làm thế nào để bạn xóa một mục duy nhất từ một ruby trên phiên đường ray?
- 23. Cách sử dụng nhiều phiên bản GCC
- 24. Làm thế nào để bạn sử dụng memcache với PHP
- 25. Làm thế nào để bạn xử lý việc triển khai các ứng dụng đường ray với các mô-đun con?
- 26. Cách sử dụng nhiều bộ đệm trong đường ray?
- 27. Làm cách nào để chuyển đổi giữa đường ray 3.2.13 và đường ray 4.0.0?
- 28. cách chú thích các mô hình đường ray trong đường ray phiên bản 3.2.1
- 29. Sử dụng mysql với đường ray - làm cách nào để thiết lập điều này?
- 30. Làm thế nào để bạn phát hành hai phiên bản ứng dụng trên Market?
Câu hỏi liên quan: http://stackoverflow.com/questions/9771172/rbenv-surviving-without-gemsets (Tôi đã bỏ lỡ câu hỏi này khi tôi hỏi tôi, có lẽ vì lỗi đánh máy rbvenv) –