Я пытаюсь настроить ruby с помощью rbenv на сервере вместо установленной версии ruby и bundler apt-get.
Я последовал за Путеводитель по цифровому океану, отклоняясь только от версии ruby (мне нужна 2.7.1) и пути установки ruby (ПРЕФИКС=~/local ./ruby-build/install.sh
), чтобы хранить все в моей домашней папке, потому что я не root.
Что сработало
- Установка rbenv
- Установка рубиновой сборки
рбенв установить 2.7.1
оболочка rbenv 2.7.1
глобальный rbenv 2.7.1
пакетная установка
sudo apt-get очистить рубин
Однако пакетный исполнительный рейк
не запускается и возвращает следующую ошибку:
/usr/bin/env: «ruby2.7»: нет такого файла или каталога
$ rbenv exec bundle exec ruby -v
рубин 2.7.1p83 (версия a0c7c23c9c 2020-03-31) [x86_64-linux]
$ rbenv exec пакет exec грабли
Ваша версия Ruby — 2.7.0, но в вашем Gemfile указано 2.7.1.
Когда я просто бегу грабли
в папке моего приложения (не проходя выполнение пакета
) получаю следующую ошибку:
$ рейк
рейк прерван!
Ошибка загрузки: libruby-2.7.so.2.7: невозможно открыть общий объектный файл: нет такого файла или каталога - /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 (обязательно)>'
/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 `блок в <top (обязательно) >'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/explicit_require.rb:44: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 (обязательно)>'
/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 (обязательно)>'
/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 (обязательно)>'
/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 (обязательно)>'
/home/gchampenois/www/staging/releases/20211126155023/config/boot.rb:4:in `require'
/home/gchampenois/www/staging/releases/20211126155023/config/boot.rb:4:in `<top (обязательно)>'
/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 (обязательно)>'
/home/gchampenois/www/staging/releases/20211126155023/Rakefile:4:in `require_relative'
/home/gchampenois/www/staging/releases/20211126155023/Rakefile:4:in `<top (обязательно)>'
Это похоже на бег rbenv exec bundle exec rake [команда]
на самом деле звонки /usr/местные/бен/комплект
вместо прокладки rbenv, несмотря на наличие .rbenv/прокладки
и .rbenv/bin
первый в моем ДОРОЖКА
.
Любая идея, почему, и как обойти это?
Вещи, которые я уже пробовал
обновление драгоценного камня --система
rbenv перефразировать
- полное удаление и переустановка rbenv
- установка ruby 2.7.0 через rbenv
Вот моя среда:
$ эхо $ ПУТЬ
/home/gchampenois/.rbenv/shims:/home/gchampenois/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: /usr/игры:/usr/местные/игры:/привязка/bin
$ lsb_release -a | grep 'Описание'
Описание: Ubuntu 20.04.2 LTS
$ версии rbenv
* 2.7.1 (устанавливается переменной окружения RBENV_VERSION)
$который -пучок
/home/gchampenois/.rbenv/shims/комплект
/usr/местные/бен/комплект
/USR/бен/комплект
/бен/комплект
$ который - жемчужина
/home/gchampenois/.rbenv/shims/gem
$ который -рубин
/home/gchampenois/.rbenv/shims/рубин
$ рубин -v
рубин 2.7.1p83 (версия a0c7c23c9c 2020-03-31) [x86_64-linux]
$ cat /usr/local/bin/bundle
#!/usr/bin/ruby2.7
#
# Этот файл был сгенерирован RubyGems.
#
# Приложение 'bundler' устанавливается как часть гема, и
# этот файл здесь для облегчения запуска.
#
требуют "rubygems"
версия = ">= 0.a"
ул = ARGV.first
если ул
ул = ул.b[/\A_(.*)_\z/, 1]
если str и Gem::Version.correct?(str)
версия = ул.
АРГВ.сдвиг
конец
конец
если Gem.respond_to?(:activate_bin_path)
загрузить Gem.activate_bin_path («комплект», «пакет», версия)
еще
драгоценный камень "бандлер", версия
загрузить Gem.bin_path("комплект", "комплект", версия)
конец
$ бандл env | голова -n30
## Среда
Пакет 2.2.32
Платформы ruby, x86_64-linux
Ruby 2.7.1p83 (версия 2020-03-31 a0c7c23c9cec0d0ffcba012279cd652d28ad5bf3) [x86_64-linux]
Полный путь /home/gchampenois/.rbenv/versions/2.7.1/bin/ruby
Конфигурационный каталог /home/gchampenois/.rbenv/versions/2.7.1/etc
РубиГемс 3.2.32
Главная /home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
Путь к драгоценному камню /home/gchampenois/.gem/ruby/2.7.0:/home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
Домашняя страница пользователя /home/gchampenois
Путь пользователя /home/gchampenois/.gem/ruby/2.7.0
Папка бинов /home/gchampenois/.rbenv/versions/2.7.1/bin
Инструменты
Гит 2.25.1
РВМ не установлен
rbenv rbenv 1.2.0-6-g304cb7b
чрубы не установлены
## Метаданные сборки сборщика
Построен 23 ноября 2021 г.
Гит SHA 20d4957649
Выпущенная версия верна
$ драгоценный камень окружение
Среда RubyGems:
- ВЕРСИЯ РУБИГЕМС: 3.2.32
- РУБИНОВАЯ ВЕРСИЯ: 2.7.1 (31 марта 2020 г., уровень исправления 83) [x86_64-linux]
- КАТАЛОГ УСТАНОВКИ: /home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
- КАТАЛОГ ПОЛЬЗОВАТЕЛЬСКОЙ УСТАНОВКИ: /home/gchampenois/.gem/ruby/2.7.0
- РУБИНОВЫЙ ИСПОЛНЯЕМЫЙ: /home/gchampenois/.rbenv/versions/2.7.1/bin/ruby
- GIT ИСПОЛНЯЕМЫЙ: /usr/bin/git
- ВЫПОЛНЯЕМЫЙ КАТАЛОГ: /home/gchampenois/.rbenv/versions/2.7.1/bin
- КАТАЛОГ СПЕЦИАЛЬНЫХ КЭШЕЙ: /home/gchampenois/.gem/specs
- КАТАЛОГ КОНФИГУРАЦИИ СИСТЕМЫ: /home/gchampenois/.rbenv/versions/2.7.1/etc
- ПЛАТФОРМЫ RUBYGEMS:
- Рубин
- x86_64-линукс
- ДРАГОЦЕННЫЕ ПУТИ:
- /home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
- /home/gchampenois/.gem/рубин/2.7.0
- КОНФИГУРАЦИЯ КАМЕНЬ:
- :update_sources => правда
- :verbose => правда
- :backtrace => ложь
- :массовый_порог => 1000
- "gem" => "--no-document --no-ri"
- УДАЛЕННЫЕ ИСТОЧНИКИ:
- https://rubygems.org/
- ПУТЬ ОБОЛОЧКИ:
- /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/местные/sbin
- /USR/локальные/бен
- /usr/сбин
- /USR/бен
- /сбин
- /бин
- /usr/игры
- /usr/местные/игры
- / привязать / бин