Tôi muốn tạo ứng dụng Rails mới. Tôi đang sử dụng rvm với ruby-2.1.2. Tôi sử dụng bộ đá quý @global
và lập kế hoạch sử dụng trình quản lý để quản lý phụ thuộc đá quý. Tuy nhiên, thất bại gem install rails
:Cài đặt Rails không thành công: activesupport yêu cầu phiên bản Ruby> = 2.2.2
$ gem install rails
Fetching: concurrent-ruby-1.0.3.pre3.gem (100%)
Successfully installed concurrent-ruby-1.0.3.pre3
Fetching: minitest-5.9.0.gem (100%)
Successfully installed minitest-5.9.0
Fetching: thread_safe-0.3.5.gem (100%)
Successfully installed thread_safe-0.3.5
Fetching: tzinfo-1.2.2.gem (100%)
Successfully installed tzinfo-1.2.2
Fetching: i18n-0.7.0.gem (100%)
Successfully installed i18n-0.7.0
Fetching: activesupport-5.0.0.gem (100%)
ERROR: Error installing rails:
activesupport requires Ruby version >= 2.2.2.
Vâng, đó là sự thật Tôi đang sử dụng ruby-2.1.2 và không ruby-2.2.2, nhưng không nên tôi vẫn được phép sử dụng ruby-2.1.2? Chúng ta có được phép sử dụng ruby-2.1.2 nữa không?
Tôi nghĩ có lẽ đó ActiveSupport 5 đã được cài đặt trong @global
gemset và ActiveSupport 5 cần 2.2.2, nhưng thực sự không có ActiveSupport 5 trong @global
gemset:
$ rvm gemdir
/Users/myuser/.rvm/gems/[email protected]
$ cd /Users/myuser/.rvm/gems/[email protected]
$ cd gems
$ ls
bundler-unload-1.0.2 gem-wrappers-1.2.4 rake-10.1.0 rvm-1.11.3.9 tzinfo-1.2.2
concurrent-ruby-1.0.3.pre3 i18n-0.7.0 rdoc-4.1.0 test-unit-2.1.2.0
executable-hooks-1.3.2 minitest-5.9.0 rubygems-bundler-1.4.4 thread_safe-0.3.5
Vậy làm thế nào tôi có thể ngăn chặn lỗi này xảy ra khi cố gắng sử dụng ruby-2.1.2?
điểm đầu tiên của bạn trả lời câu hỏi của tôi. Tuy nhiên, điểm thứ hai của bạn tôi phải không đồng ý với. Mỗi khi bạn tạo một gemset mới, bạn sẽ có các bản sao của các gem tương tự nhau cho mỗi dự án. Toàn bộ mục đích của bundler là để giải quyết các vấn đề phụ thuộc và sử dụng Gemfile để tải các gem phù hợp, vì vậy những điều kỳ quặc với gem không tương thích sẽ không bao giờ xảy ra. – Donato
@ Datoato không xuất hiện trong đầu tôi một cách ngẫu nhiên. Và đó không phải là điều ước của tôi. Bạn có thể đọc thông số kỹ thuật từ nguồn đáng tin cậy nhất: https://rvm.io/gemsets/basics Từ 'Cảnh báo!' session: "RVM cung cấp cho bạn một thư mục gem riêng biệt cho mỗi phiên bản Ruby và gemset. Điều này có nghĩa là các gem phải được cài đặt một cách rõ ràng cho mỗi phiên bản và gemset. RVM giúp bạn quản lý quá trình này; xem trang tài liệu RVM set." – GPrimola