Tôi đang cố gắng thiết lập ruby bằng cách sử dụng rbenv trên máy chủ, thay vì phiên bản ruby và bundler đã cài đặt apt-get.
tôi đã theo dõi Hướng dẫn của Digital Ocean, chỉ sai lệch trên phiên bản ruby (tôi cần 2.7.1) và đường dẫn cài đặt ruby (PREFIX=~/local ./ruby-build/install.sh
) để giữ mọi thứ trong thư mục nhà của tôi vì tôi chưa root.
Những gì đã làm việc
- Đang cài đặt rbenv
- Cài đặt ruby-build
rbenv cài đặt 2.7.1
vỏ rbenv 2.7.1
rbenv toàn cầu 2.7.1
gói cài đặt
sudo apt-get thanh lọc ruby
Tuy nhiên bó exec rake
không chạy và trả về lỗi sau:
/usr/bin/env: âruby2.7â: Không có tệp hoặc thư mục như vậy
$ rbenv exec gói exec ruby -v
ruby 2.7.1p83 (bản sửa đổi 2020-03-31 a0c7c23c9c) [x86_64-linux]
$ rbenv exec gói exec cào
Phiên bản Ruby của bạn là 2.7.0, nhưng Gemfile của bạn đã chỉ định 2.7.1
Khi tôi chỉ đơn giản là chạy cái cào
trong thư mục ứng dụng của tôi (không cần thông qua thực thi gói
) Tôi nhận được lỗi sau đây:
$ cào
cào bị hủy bỏ!
LoadError: libruby-2.7.so.2.7: không thể mở tệp đối tượng dùng chung: Không có tệp hoặc thư mục như vậy - /home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/msgpack-1.4.2 /lib/msgpack/msgpack.so
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/msgpack-1.4.2/lib/msgpack.rb:8:in `require'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/msgpack-1.4.2/lib/msgpack.rb:8:in `<top (bắt buộc)>'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/store.rb:4:in `require'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/store.rb:4:in `block in <top (bắt buộc) >'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/explicit_require.rb:44:in `rescue in with_gems'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/explicit_require.rb:40:in `with_gems'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/store.rb:4:in `<top (bắt buộc)>'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache.rb:61:in `require_relative'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache.rb:61:in `<top (bắt buộc)>'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap.rb:5:in `require_relative'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap.rb:5:in `<top (bắt buộc)>'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/setup.rb:2:in `require_relative'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/setup.rb:2:in `<top (bắt buộc)>'
/home/gchampenois/www/staging/releases/20211126155023/config/boot.rb:4:in `require'
/home/gchampenois/www/staging/releases/20211126155023/config/boot.rb:4:in `<top (bắt buộc)>'
/home/gchampenois/www/staging/releases/20211126155023/config/application.rb:1:in `require_relative'
/home/gchampenois/www/staging/releases/20211126155023/config/application.rb:1:in `<top (bắt buộc)>'
/home/gchampenois/www/staging/releases/20211126155023/Rakefile:4:in `require_relative'
/home/gchampenois/www/staging/releases/20211126155023/Rakefile:4:in `<top (bắt buộc)>'
Có vẻ như đang chạy rbenv exec bundle exec rake [lệnh]
thực sự gọi /usr/local/bin/gói
thay vì shim của rbenv, mặc dù có .rbenv/shims
và .rbenv/bin
đầu tiên trong tôi CON ĐƯỜNG
.
Bất kỳ ý tưởng tại sao, và làm thế nào để làm việc xung quanh đó?
Những điều tôi đã thử rồi
cập nhật đá quý --system
làm lại rbenv
- gỡ bỏ và cài đặt lại hoàn toàn rbenv
- cài đặt ruby 2.7.0 qua rbenv
Đây là môi trường của tôi:
$ tiếng vang $PATH
/home/gchampenois/.rbenv/shims:/home/gchampenois/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: /usr/games:/usr/local/games:/snap/bin
$ lsb_release -a | grep 'Mô tả'
Mô tả: Ubuntu 20.04.2 LTS
phiên bản $ rbenv
* 2.7.1 (được đặt bởi biến môi trường RBENV_VERSION)
$ which -một gói
/home/gchampenois/.rbenv/shims/bundle
/usr/local/bin/gói
/usr/bin/bó
/bin/gói
$ which -một viên ngọc quý
/home/gchampenois/.rbenv/shims/gem
$ mà -a ruby
/home/gchampenois/.rbenv/shims/ruby
$ hồng ngọc -v
ruby 2.7.1p83 (bản sửa đổi 2020-03-31 a0c7c23c9c) [x86_64-linux]
$ mèo /usr/local/bin/gói
#!/usr/bin/ruby2.7
#
# Tệp này được tạo bởi RubyGems.
#
# Ứng dụng 'bundler' được cài đặt như một phần của đá quý và
# tập tin này ở đây để tạo điều kiện cho việc chạy nó.
#
yêu cầu 'rubygems'
phiên bản = ">= 0.a"
str = ARGV.first
nếu str
str = str.b[/\A_(.*)_\z/, 1]
nếu str và Gem::Version.correct?(str)
phiên bản = str
ARGV.shift
chấm dứt
chấm dứt
nếu Gem.Response_to?(:activate_bin_path)
tải Gem.activate_bin_path('bundler', 'bundle', phiên bản)
khác
đá quý "gói", phiên bản
tải Gem.bin_path("gói", "gói", phiên bản)
chấm dứt
$ gói env | đầu -n30
## Môi trường
Trình đóng gói 2.2.32
Nền tảng ruby, x86_64-linux
Ruby 2.7.1p83 (bản sửa đổi 2020-03-31 a0c7c23c9cec0d0ffcba012279cd652d28ad5bf3) [x86_64-linux]
Đường dẫn đầy đủ /home/gchampenois/.rbenv/versions/2.7.1/bin/ruby
Config Dir /home/gchampenois/.rbenv/versions/2.7.1/etc
RubyGems 3.2.32
Trang chủ đá quý /home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
Đường dẫn đá quý /home/gchampenois/.gem/ruby/2.7.0:/home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
Trang chủ /home/gchampenois
Đường dẫn người dùng /home/gchampenois/.gem/ruby/2.7.0
Bin Dir /home/gchampenois/.rbenv/versions/2.7.1/bin
Công cụ
Git 2.25.1
RVM chưa được cài đặt
rbenv rbenv 1.2.0-6-g304cb7b
chruby không được cài đặt
## Siêu dữ liệu xây dựng Bundler
Được xây dựng vào ngày 23-11-2021
Git SHA 20d4957649
Phiên bản đã phát hành đúng
$ đá quý env
Môi trường RubyGems:
- PHIÊN BẢN RUBYGEMS: 3.2.32
- PHIÊN BẢN RUBY: 2.7.1 (bản vá 83-03-2020) [x86_64-linux]
- THƯ MỤC CÀI ĐẶT: /home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
- HƯỚNG DẪN CÀI ĐẶT NGƯỜI DÙNG: /home/gchampenois/.gem/ruby/2.7.0
- RUBY THỰC HIỆN: /home/gchampenois/.rbenv/versions/2.7.1/bin/ruby
- GIT THỰC HIỆN: /usr/bin/git
- THƯ MỤC THỰC HIỆN: /home/gchampenois/.rbenv/versions/2.7.1/bin
- THƯ MỤC BỘ CACHE ĐẶC BIỆT: /home/gchampenois/.gem/specs
- THƯ MỤC CẤU HÌNH HỆ THỐNG: /home/gchampenois/.rbenv/versions/2.7.1/etc
- NỀN TẢNG RUBYGEMS:
- hồng ngọc
- x86_64-linux
- ĐƯỜNG ĐÁ QUÝ:
- /home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
- /home/gchampenois/.gem/ruby/2.7.0
- CẤU HÌNH ĐÁ QUÝ:
- :update_sources => đúng
- : dài dòng => đúng
- :backtrace => sai
- :bulk_threshold => 1000
- "đá quý" => "--no-tài liệu --no-ri"
- NGUỒN TỪ XA:
- https://rubygems.org/
- ĐƯỜNG VỎ:
- /home/gchampenois/.rbenv/versions/2.7.1/bin
- /home/gchampenois/.rbenv/libexec
- /home/gchampenois/.rbenv/plugins/ruby-build/bin
- /home/gchampenois/.rbenv/shims
- /home/gchampenois/.rbenv/bin
- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /thùng rác
- /usr/trò chơi
- /usr/local/trò chơi
- /snap/bin