Làm thế nào để cài đặt một phiên bản cụ thể của đá quý ruby?


884

Sử dụng gemcông cụ dòng lệnh , làm cách nào tôi có thể cài đặt phiên bản cụ thể của đá quý?

Câu trả lời:


1158

Sử dụng -vcờ:

$ gem install fog -v 1.8

60
Nếu, giống như tôi, trước đây bạn đã cài đặt phiên bản đá quý sau của mình, thì bạn phải gỡ cài đặt phiên bản mới hơn với vd gem uninstall fog. Nó sẽ hỏi bạn nên gỡ cài đặt phiên bản nào nếu bạn có nhiều hơn một.
Dizzley

3
Tôi có 3 phiên bản rake: gem list | grep rake= rake (10.1.1, 10.1.0, 0.8.7).. tôi có một dự án rails 2.3.5 và một phiên bản 3.0 khác mà tôi đang làm việc cùng một lúc .. làm thế nào để tôi sử dụng một phiên bản cào cụ thể cho từng dự án (ví dụ: theo lệnh dòng?)
abbood 13/03 '

@abbood rake _10.1.1_ ...nên làm việc, cho ai muốn biết :)
Koen.

Đáng lưu ý rằng điều này dường như không ảnh hưởng đến nhị phân thực thi. Gỡ cài đặt phiên bản trước làm việc cho nhị phân mặc dù.
Ciro Santilli 冠状 病毒 审查 事件

Một lần nữa, tôi muốn tôi có thể làm nhiều việc. Có lẽ nếu họ phải cách nhau ít nhất một năm. :)
Don Branson

192

Sử dụng --versiontham số (phím tắt -v):

$ gem install rails -v 0.14.1

Bạn cũng có thể sử dụng các bộ so sánh phiên bản như >=hoặc~>

$ gem install rails -v '~> 0.14.0'

Hoặc với các phiên bản mới hơn của đá quý thậm chí:

$ gem install rails:0.14.4 rubyzip:'< 1'

Successfully installed rails-0.14.4
Successfully installed rubyzip-0.9.9

Điều này đã làm việc cho ~>, nhưng nếu bạn có loại tình huống '<0,9,> = 0,7' thì sao? Tôi đã thử áp dụng hai đối số v và nó xuất hiện như thể đầu tiên bị bỏ qua. Sử dụng dấu phân cách dấu phẩy thậm chí sẽ không phân tích cú pháp. Cuối cùng tôi đã loại bỏ lớn hơn yêu cầu và nó đã tình cờ cài đặt một phiên bản chấp nhận được, nhưng có một giải pháp chính thức sẽ rất tốt.
Joseph Coco

Phiên bản so sánh ~>là gì?
Dragas

Điều đó có nghĩa là chữ số cuối cùng được phép phát triển ( stackoverflow.com/questions/5170547/
triệt

93

Để cài đặt gem install gemname -v versionnumber

Để gỡ cài đặt gem uninstall gemname -v versionnumber


80

cho Ruby 1.9+ sử dụng dấu hai chấm ..

gem install sinatra:1.4.4 prawn:0.13.0

viên ngọc nào (và phiên bản nào) bạn đang cố gắng cài đặt?
Kokizzu

vui lòng cho tôi biết đầu ra của gem sources, nếu nó trống, hãy thêm một repo bằng lệnh này:gem sources -a https://rubygems.org/
Kokizzu

gem -vchương trình của tôi 1.8.23so với của bạn 2.2.2. Có vẻ như tính năng này là mới :)
kolypto

Ruby 1.8 đã kết thúc hỗ trợ ruby-lang.org/en/news/2013/06/30/we-retire-1-8-7
Kokizzu

24

Như những người khác đã lưu ý, nói chung sử dụng -vcờ cho gem installlệnh.

Nếu bạn đang phát triển đá quý tại địa phương, sau khi cắt đá quý từ đá quý của bạn:

$ gem install gemname-version.gem

Giả sử phiên bản 0.8, nó sẽ trông như thế này:

$ gem install gemname-0.8.gem

3
Câu trả lời chính xác. Tôi đề nghị bạn thêm một khối mã khác cho tùy chọn "-v" cờ. Khi mắt tôi đọc câu trả lời, họ lập tức đi đến các khối mã chứ không phải văn bản xung quanh nó. Nếu những người khác làm điều tương tự họ sẽ bỏ lỡ phần "-v".
CamHart

8

Linux

Để cài đặt phiên bản ruby ​​khác nhau, hãy kiểm tra phiên bản mới nhất của gói bằng cách sử dụng aptnhư sau:

$ apt-cache madison ruby
      ruby |    1:1.9.3 | http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
      ruby |        4.5 | http://ftp.uk.debian.org/debian/ squeeze/main amd64 Packages

Sau đó cài đặt nó:

$ sudo apt-get install ruby=1:1.9.3

Để kiểm tra phiên bản hiện tại, hãy chạy:

$ gem --version # Check for the current user.
$ sudo gem --version # Check globally.

Nếu phiên bản vẫn cũ, bạn có thể thử chuyển đổi phiên bản sang mới bằng cách sử dụng trình quản lý phiên bản ruby ​​( rvm) bằng cách:

rvm 1.9.3

Lưu ý: Bạn có thể thêm tiền tố vào sudonếu rvmđược cài đặt trên toàn cầu. Hoặc chạy /usr/local/rvm/scripts/rvmnếu lệnh của bạn rvmkhông nằm trong toàn cầu của bạn PATH. Nếu quá trình cài đặt rvm không thành công, hãy xem phần khắc phục sự cố.


Xử lý sự cố:

  • Nếu bạn vẫn có phiên bản cũ, bạn có thể thử cài đặt rvm (trình quản lý phiên bản ruby) thông qua:

    sudo apt-get install curl # Install curl first
    curl -sSL https://get.rvm.io | bash -s stable --ruby # Install only for the user.
    #or:# curl -sSL https://get.rvm.io | sudo bash -s stable --ruby # Install globally. 

    sau đó nếu được cài đặt cục bộ (chỉ dành cho người dùng hiện tại), tải rvm qua:

    source /usr/local/rvm/scripts/rvm; rvm 1.9.3

    nếu trên toàn cầu (cho tất cả người dùng), thì:

    sudo bash -c "source /usr/local/rvm/scripts/rvm; rvm 1.9.3"
  • nếu bạn vẫn gặp sự cố với phiên bản ruby ​​mới, hãy thử cài đặt nó bằng rvm qua:

    source /usr/local/rvm/scripts/rvm && rvm install ruby-1.9.3 # Locally.
    sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm install ruby-1.9.3" # Globally.
  • nếu bạn muốn cài đặt một số đá quý trên toàn cầu và bạn đã cài đặt rvm, bạn có thể thử:

    rvmsudo gem install [gemname]

    thay vì:

      gem install [gemname] # or:
      sudo gem install [gemname]

Lưu ý: Không nên sử dụng sudo để làm việc với đá quý RVM. Khi bạn thực hiện sudo, bạn đang chạy các lệnh với quyền root, một người dùng khác trong shell khác và do đó tất cả các thiết lập mà RVM đã thực hiện cho bạn bị bỏ qua trong khi lệnh chạy dưới sudo (chẳng hạn như GEM_HOME, v.v ...). Vì vậy, để nhắc lại, ngay khi bạn đang chạy với tư cách là người dùng hệ thống gốc, điều này sẽ xóa môi trường của bạn cũng như mọi tệp mà nó tạo ra sẽ không thể được sửa đổi bởi người dùng của bạn và sẽ dẫn đến những điều kỳ lạ xảy ra.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.