Câu trả lời:
Có một gói ruby 2.3 trong repos Raspbian, nhưng vì apt show ruby
trên hệ thống "jessie" hiển thị 2.1, tôi cho rằng đây là gói "kéo dài" - tức là một phần của nhánh thử nghiệm / không ổn định hiện tại.
Tuy nhiên, tôi đã chạy ldd
trên nó và libruby2.3
một mình họ không có bất kỳ yêu cầu nào không phải là một phần của jessie, vì vậy bạn có thể cài đặt chúng theo cách này:
Chỉnh sửa /etc/apt/sources.list
và thêm một dòng:
deb http://archive.raspbian.org/raspbian/ stretch main
Chạy apt get update
; Nó có thể mất một thời gian.
Sau đó thử apt install ruby2.3
. Điều này sẽ hoạt động nhưng có khả năng ruby 2,3 đá quý từ bản phân phối sẽ yêu cầu nâng cấp toàn bộ hệ thống để kéo dài. Tôi có một pi tôi đã làm điều này từ nhiều tháng trước và nó vẫn ổn, nhưng tôi không sử dụng ruby và chỉ sử dụng pi đó cho những thứ cụ thể, vì vậy hãy nhớ rằng việc nâng cấp đầy đủ để thử nghiệm có thể (nhưng rất có thể sẽ không) trong các biến chứng.
Nâng cấp theo cách này cũng có thể làm cho việc sử dụng đá quý distro trở nên phức tạp hơn - một lần nữa, tôi không phải là người dùng ruby, vì vậy khả năng này tôi không thể nói thêm nữa. Có thể cài đặt các mô-đun ruby bằng hệ thống quản lý gói riêng của nó và apt
sẽ không phá vỡ điều này. Mặc dù apt có thể cuối cùng muốn cài đặt đôi khi là phụ thuộc, nhưng chúng không nên được ưu tiên khi sử dụng.
Đối với một số thứ, sử dụng gem
thay thế sẽ yêu cầu bạn apt install
-dev
gói cho những thứ mà các mô-đun được biên dịch lại và có thể có một số lượng nhỏ những thứ đơn giản sẽ không bay được.
Debian (và do đó Raspbian) có chính sách bảo thủ về phiên bản, có nghĩa là họ thích tránh khỏi tình trạng chảy máu trong nhánh ổn định (hiện tại là jessie), nhưng cũng duy trì một nhánh "không ổn định / thử nghiệm" khá ổn định (kéo dài) - hoặc là một khi nó đã được chơi trong một thời gian, mà bây giờ nó đã có.
Vì vậy, đề nghị của tôi là đi cho nó. Bây giờ bạn đã biết về sự cẩn thận và tất nhiên bạn nên giữ lại dữ liệu quan trọng của mình, vì vậy có lẽ không có nhiều rủi ro.
/etc/apt/sources.list
[sửa ở trên]. Tôi không chắc sự liên quan của việc sử dụng cái này với cái kia là gì (nếu có) nhưng sources.list
chắc chắn hoạt động.
Cài đặt Ruby trên RPi3 với Raspbian Stretch (9.4)
Có hai cách để cài đặt ruby trên RPi:
ruby2.3
gói APT.sudo apt-get install ruby2.3
Điều này cũng sẽ cài đặt các phụ thuộc bổ sung:
libruby2.3 rake ruby ruby-did-you-mean ruby-minitest ruby-net-telnet
ruby-power-assert ruby-test-unit ruby2.3 rubygems-integration
Tuy nhiên, như đã biết, các nhà bảo trì phân phối Raspbian muốn giữ lại các phiên bản phát hành, vì vậy gói này rất có thể đã lỗi thời, so với những gì có sẵn. Để có phiên bản mới nhất (hoặc thậm chí là nhà phát triển), hãy sử dụng phương pháp RVM bên dưới.
RVM là gì?
Các của Ruby quản lý phiên bản ( RVM ) là một công cụ dòng lệnh cho phép bạn dễ dàng cài đặt, quản lý và làm việc với nhiều môi trường ruby từ dịch viên để bộ đá quý.
Cách chính xác để cài đặt Ruby trên RPi của bạn là làm theo hướng dẫn từ một trong những vị trí sau:
Dù bằng cách nào, bạn được yêu cầu chạy tập lệnh trực tiếp từ đầu ra phản hồi curl , như thế này.
( Đừng sử dụng sudo! )
\curl -sSL https://get.rvm.io | bash -s stable --ruby
Tuy nhiên, điều này thường không được khuyến nghị, vì lý do bảo mật rõ ràng, vì bạn không biết chuyện gì đang xảy ra hoặc đang xảy ra!
Vì vậy, thay vì làm như sau.
cd ~/Downloads/
\curl -sSL https://get.rvm.io -o rvm-installer
# ^^ That actually resolve to:
# curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer -o rvm-installer
chmod 755 rvm-installer
./rvm-installer
Downloading https://github.com/rvm/rvm/archive/master.tar.gz
Installing RVM to /home/pi/.rvm/
Adding rvm PATH line to /home/pi/.profile /home/pi/.mkshrc /home/pi/.bashrc /home/pi/.zshrc.
Adding rvm loading line to /home/pi/.profile /home/pi/.bash_profile /home/pi/.zlogin.
Installation of RVM in /home/pi/.rvm/ is almost complete:
* To start using RVM you need to run `source /home/pi/.rvm/scripts/rvm`
in all your open shell windows, in rare cases you need to reopen all shell windows.
. /home/pi/.rvm/scripts/rvm
rvm list
# No rvm rubies installed yet. Try 'rvm help install'.
rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.7]
[ruby-]2.4[.4]
[ruby-]2.5[.1]
[ruby-]2.6[.0-preview1]
ruby-head
...
Thật không may rvm-installer help
, không hiển thị một trong các tùy chọn ẩn hữu ích nhất : rvm-installer stable --ruby
.
Ngoài ra, như đã lưu ý, khi bạn chạy trình cài đặt rvm , các tệp sau đây đã được sửa đổi để thêm một số nội dung liên quan đến rvm mới.
~/.profile
~/.mkshrc
~/.zshrc
~/.bash_profile
~/.zlogin
~/.rvm/scripts/rvm
Nếu bạn không thích điều này, hãy đảm bảo chuyển --ignore-dotfiles
tùy chọn cho trình cài đặt rvm . Nếu bạn làm như vậy, bạn sẽ cần phải làm thủ công:
echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile
Tiếp theo, chúng tôi kiểm tra phiên bản Ruby ổn định nào thực sự được khuyến nghị:
https://www.ruby-lang.org/en/doads/
rvm install ruby-2.5.1 --binary # this binary doesn't exist!
date; time rvm install ruby-2.5.1 -j 4 # we compile with 4 threads,
# this take ~XX min on a RPi3
Một khi điều này đã được giải thích, tôi cũng có thể hoàn thành câu trả lời này ...
Vấn đề ở đây là rvm
dường như thân thiện hơn rất nhiều, một khi các nhị phân đã được tạo. Tại sao những thứ này chưa có sẵn rộng rãi cho RPi3, có vẻ khá điên rồ.
sources.list
trong/etc/apt/sources.list.d
, chỉ cần córaspi.list
. Bạn có nghĩa là tôi cần phải tạo một tập tin mới?