Nếu tôi đang thiết lập một dự án để sử dụng Bundler và tôi đã có một tập hợp RVM cho dự án, có cách dễ dàng để xuất danh sách gemset thành Gemfile
(hoặc, cho rằng, chuyển đổi tệp default.gems
thành Định dạng Gemfile
)? Hay tất cả chúng ta chỉ tìm và thay thế?Có tiện ích nào để chuyển đổi tệp RVM default.gems thành Bundler Gemfiles không?
Trả lời
Có một lệnh trong RVM cho rằng:
rvm gemset export Gemfile
Nó sẽ tạo ra Gemfile
với tất cả các đá quý trong gemset.
chạy "cài đặt nhóm"!
nó sẽ sử dụng những viên đá quý đã được cài đặt theo RVM trên dòng lệnh (nếu chúng được cài đặt đã được)
séc Ryan Bates railscast trên Bundler: http://railscasts.com/episodes/201-bundler
tôi muốn tạo ra một Gemfile cho một tuổi dự án đường ray và tôi đã viết kịch bản nhỏ này để giúp tôi.
#!/usr/bin/env ruby
#Save in file to_gemfile.rb
gem_file = File.open("Gemfile", "w")
gem_file.write("source :rubygems\n")
STDIN.readlines.each do |line|
line = line.chomp
line =~ /(.*)\s\((.*)\)/
gem_name = $1
versions = $2.split(",")
gem_file.write("gem \"#{gem_name}\", \"#{versions.first}\"\n")
end
gem_file.close
Sử dụng nó như vậy
$ gem list | ./to_gemfile.rb
Hey, đây là khá gần với những gì tôi sau! Liên kết còn thiếu duy nhất là điều này đòi hỏi các gem phải được cài đặt (nghĩa là, tôi cần nhập gemset trước khi tạo 'Gemfile') nhưng có thể được quản lý bằng cách điều chỉnh kịch bản để đọc default.gems tệp thay vì đầu ra đường dẫn của 'danh sách đá quý'. – pjmorse
Tôi không chắc chắn về cách định dạng default.gems trông như thế nào nhưng nếu nó gần với danh sách gem nào thì bạn có thể làm './to_gemfile.rb
@ user420504 giống như 'gem install ...' nhưng với 'gem install 'bị tước bỏ, vì vậy bạn có thể chỉ định có' --version' hoặc '-v' và các cờ biên dịch bổ sung nếu cần – mpapis
Dường như các plugin rails_upgrade cung cấp khả năng này thông qua nhiệm vụ rake rails:upgrade:gems
của nó. Mô tả của nhiệm vụ cào này là nó sẽ:
Tạo một Gemfile từ chỉ thị config.gem bạn
- 1. Bundler - tải nhiều Gemfiles
- 2. Linux: Tiện ích dòng lệnh Chuyển đổi RTF thành PDF?
- 3. RVM: Không thể cài đặt bundler 1.1.0
- 4. RVM Gemset - Bundler & Capistrano trong Sản xuất
- 5. Có tiện ích nào sẽ chuyển đổi POSIX sang PCRE cho PHP không?
- 6. Có tiện ích nào để xác thực makefiles không?
- 7. RVM/hạ cấp đá quý bundler
- 8. Tiện ích so sánh tệp
- 9. Tiện ích Diff có nghĩa là C++
- 10. Tkinter có tiện ích bảng không?
- 11. Có cách nào để chuyển một tiện ích chrome sang các trình duyệt khác không?
- 12. Có nhiều tiện ích jQuery Autocomplete không?
- 13. tiện ích gwt - nút chuyển đổi lẫn nhau độc quyền
- 14. Làm cách nào để thay đổi tên tiện ích trong chuỗi có bash?
- 15. Backbone.js Tiện ích
- 16. Tiện ích con Android không cập nhật - có ID tiện ích không chính xác
- 17. Có nghịch ngợm khi có một tệp tiện ích lớn không?
- 18. GWT có tiện ích con Đoạn không?
- 19. lệnh dos để chia nhỏ tên tệp và tiện ích mở rộng thành các biến
- 20. Chuyển đổi Tiện ích mở rộng của Google Chrome sang tiện ích mở rộng của Firefox hoặc Safari
- 21. Chuyển đổi tệp thành MultiPartFile
- 22. Chuyển đổi tệp thành chuỗi HEX Python
- 23. Chuyển đổi tệp NIB thành tệp XIB
- 24. Xóa tiện ích khỏi tên tệp
- 25. Có cách nào nhanh chóng để chuyển đổi thực thể thành tệp .csv không?
- 26. Tiện ích để nén tệp nhật ký được xoay?
- 27. Bất kỳ tiện ích chung hoặc thư viện nào để chuyển đổi các khối Hex thành dạng có thể đọc được bằng con người?
- 28. Mercurial Chuyển đổi tiện ích mở rộng thay đổi kết thúc dòng
- 29. Chuyển đổi IFile thành Tệp
- 30. Thay đổi mã hóa trên mỗi tệp hoặc mỗi cơ sở tiện ích mở rộng
Nếu đá quý đã được cài đặt, tuy nhiên, tại sao tôi cần phải 'bó cài đặt'? Những gì tôi hy vọng là một 'Gemfile' tôi có thể kiểm tra trong SCM để phần còn lại của nhóm của tôi cũng nhận được những thay đổi, cách chúng ta đã làm với 'default.gems'. Có lẽ tôi cần phải 'bó cài đặt' và sau đó xuất khẩu sang' Gemfile'? – pjmorse
'bó cài đặt' kết thúc tốt đẹp và đóng băng đá quý của bạn bằng cách tạo tệp Gemfile.lock - vì vậy bạn không vô tình trộn các phiên bản không mong muốn .. Kiểm tra thêm thông tin tại đây: http://gembundler.com/, ví dụ: tab "Tìm hiểu người quản lý" – Tilo
Tôi đã dùng thử. Nếu tôi chưa có 'Gemfile',' bundle install' trả về lỗi ("không thể định vị Gemfile"). Nếu tôi có một trống, 'bundle install' không tạo ra nó. Những gì tôi đã hy vọng tìm thấy là một con đường từ không có Gemfile' nhưng một gemmile RVM dự án cụ thể, để có một 'Gemfile' và' Gemfile.lock' phản ánh rằng RVM gemset, mà không tự liệt kê các gem một lần nữa trong 'Gemfile '. – pjmorse