Încerc să configurez ruby folosind rbenv pe un server, în loc de versiunea apt-get instalată de ruby și bundler.
am urmărit Ghidul Digital Oceanului, deviând doar pe versiunea ruby (am nevoie de 2.7.1) și calea de instalare ruby (PREFIX=~/local ./ruby-build/install.sh
) pentru a păstra totul în folderul meu de acasă pentru că nu sunt root.
Ce a funcționat
- Instalarea rbenv
- Instalarea ruby-build
rbenv install 2.7.1
rbenv shell 2.7.1
rbenv global 2.7.1
instalarea pachetului
sudo apt-get purge ruby
in orice caz bundle exec rake
nu rulează și returnează următoarea eroare:
/usr/bin/env: âruby2.7â: Nu există un astfel de fișier sau director
$ rbenv exec pachet exec ruby -v
ruby 2.7.1p83 (2020-03-31 revizuirea a0c7c23c9c) [x86_64-linux]
$ rbenv exec bundle exec rake
Versiunea dvs. Ruby este 2.7.0, dar Gemfile a specificat 2.7.1
Când pur și simplu fug grebla
în folderul aplicației mele (fără a trece prin bundle exec
) Primesc următoarea eroare:
$ rake
grebla avortata!
LoadError: libruby-2.7.so.2.7: nu se poate deschide fișierul obiect partajat: nu există un astfel de fișier sau director - /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 (obligatoriu)>'
/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 (obligatoriu) >'
/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 (obligatoriu)>'
/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 (obligatoriu)>'
/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 (obligatoriu)>'
/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 (obligatoriu)>'
/home/gchampenois/www/staging/releases/20211126155023/config/boot.rb:4:in „require”
/home/gchampenois/www/staging/releases/20211126155023/config/boot.rb:4:in „<top (obligatoriu)>”
/home/gchampenois/www/staging/releases/20211126155023/config/application.rb:1:în „require_relative”
/home/gchampenois/www/staging/releases/20211126155023/config/application.rb:1:in „<top (obligatoriu)>”
/home/gchampenois/www/staging/releases/20211126155023/Rakefile:4:în „require_relative”
/home/gchampenois/www/staging/releases/20211126155023/Rakefile:4:in „<top (obligatoriu)>”
Pare a alerga rbenv exec bundle exec rake [comandă]
suna de fapt /usr/local/bin/bundle
în loc de lama lui rbenv, în ciuda faptului că are .rbenv/shims
și .rbenv/bin
primul în mine CALE
.
Ai idee de ce și cum să rezolvi asta?
Lucruri pe care le-am încercat deja
actualizare gem --system
rbenv rehash
- eliminarea și reinstalarea completă a rbenv
- instalarea ruby 2.7.0 prin rbenv
Iată mediul meu:
$ echo $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 „Descriere”
Descriere: Ubuntu 20.04.2 LTS
versiuni $ rbenv
* 2.7.1 (setat de variabila de mediu RBENV_VERSION)
$ care -un pachet
/home/gchampenois/.rbenv/shims/bundle
/usr/local/bin/bundle
/usr/bin/bundle
/bin/bundle
$ care -o bijuterie
/home/gchampenois/.rbenv/shims/gem
$ care -un rubin
/home/gchampenois/.rbenv/shims/ruby
$ rubin -v
ruby 2.7.1p83 (2020-03-31 revizuirea a0c7c23c9c) [x86_64-linux]
$ cat /usr/local/bin/bundle
#!/usr/bin/ruby2.7
#
# Acest fișier a fost generat de RubyGems.
#
# Aplicația „bundler” este instalată ca parte a unei bijuterii și
# acest fișier este aici pentru a facilita rularea acestuia.
#
necesită „gemuri de rubin”
versiune = ">= 0.a"
str = ARGV.în primul rând
daca str
str = str.b[/\A_(.*)_\z/, 1]
dacă str și Gem::Version.correct?(str)
versiune = str
ARGV.shift
Sfârşit
Sfârşit
dacă Gem.respond_to?(:activate_bin_path)
încărcați Gem.activate_bin_path('bundler', 'bundle', version)
altfel
gem „bundler”, versiune
încărcați Gem.bin_path(„bundler”, „bundle”, versiune)
Sfârşit
$ pachet înv | cap -n30
## Mediu inconjurator
Bundler 2.2.32
Platforme ruby, x86_64-linux
Ruby 2.7.1p83 (2020-03-31 revizuirea a0c7c23c9cec0d0ffcba012279cd652d28ad5bf3) [x86_64-linux]
Calea completă /home/gchampenois/.rbenv/versions/2.7.1/bin/ruby
Config Dir /home/gchampenois/.rbenv/versions/2.7.1/etc
RubyGems 3.2.32
Gem Home /home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
Gem Path /home/gchampenois/.gem/ruby/2.7.0:/home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
Acasă utilizator /home/gchampenois
Calea utilizatorului /home/gchampenois/.gem/ruby/2.7.0
Bin Dir /home/gchampenois/.rbenv/versions/2.7.1/bin
Instrumente
Git 2.25.1
RVM nu este instalat
rbenv rbenv 1.2.0-6-g304cb7b
chruby nu este instalat
## Bundler Build Metadate
Construit la 23-11-2021
Git SHA 20d4957649
Versiunea lansată adevărată
$ gem env
Mediul RubyGems:
- VERSIUNEA RUBYGEMS: 3.2.32
- VERSIUNEA RUBY: 2.7.1 (2020-03-31 patchlevel 83) [x86_64-linux]
- DIRECTOR DE INSTALARE: /home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
- DIRECTOR DE INSTALARE UTILIZATOR: /home/gchampenois/.gem/ruby/2.7.0
- RUBY EXECUTABLE: /home/gchampenois/.rbenv/versions/2.7.1/bin/ruby
- GIT EXECUTABLE: /usr/bin/git
- DIRECTOR EXECUTABLE: /home/gchampenois/.rbenv/versions/2.7.1/bin
- SPEC CACHE DIRECTOR: /home/gchampenois/.gem/specs
- DIRECTOR DE CONFIGURARE A SISTEMULUI: /home/gchampenois/.rbenv/versions/2.7.1/etc
- PLATFORME RUBYGEMS:
- rubin
- x86_64-linux
- CĂI GEM:
- /home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
- /home/gchampenois/.gem/ruby/2.7.0
- CONFIGURARE GEM:
- :update_sources => adevărat
- :verbose => adevărat
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--no-document --no-ri"
- SURSE DE LA DISTANTA:
- https://rubygems.org/
- CALEA SHELL:
- /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
- /cos
- /usr/jocuri
- /usr/local/games
- /snap/bin