2011-03-22 26 views

Trả lời

4

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.

3

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

+1

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

+0

'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

+1

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

5

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 
+0

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

+0

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

+1

@ 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

1

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

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