ฉันกำลังพยายามตั้งค่า ruby โดยใช้ rbenv บนเซิร์ฟเวอร์ แทนที่จะเป็น ruby และ bundler รุ่นที่ติดตั้ง apt-get
ฉันตาม คู่มือของ Digital Oceanเบี่ยงเบนเฉพาะรุ่น ruby (ฉันต้องการ 2.7.1) และเส้นทางการติดตั้ง ruby (คำนำหน้า=~/local ./ruby-build/install.sh
) เพื่อเก็บทุกอย่างไว้ในโฮมโฟลเดอร์เพราะฉันไม่ใช่รูท
สิ่งที่ได้ผล
- กำลังติดตั้ง rbenv
- การติดตั้ง ruby-build
rbenv ติดตั้ง 2.7.1
rbenv เชลล์ 2.7.1
rbenv ทั่วโลก 2.7.1
ติดตั้งบันเดิล
sudo apt-get ล้างทับทิม
อย่างไรก็ตาม บันเดิล exec คราด
ไม่ทำงาน และส่งกลับข้อผิดพลาดต่อไปนี้:
/usr/bin/env: âruby2.7â: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
$ rbenv exec บันเดิล exec ruby -v
ruby 2.7.1p83 (2020-03-31 แก้ไข a0c7c23c9c) [x86_64-linux]
$ rbenv exec บันเดิล exec คราด
เวอร์ชัน Ruby ของคุณคือ 2.7.0 แต่ Gemfile ของคุณระบุเป็น 2.7.1
เมื่อฉันวิ่ง คราด
ในโฟลเดอร์แอปพลิเคชันของฉัน (โดยไม่ผ่าน บันเดิลผู้บริหาร
) ฉันได้รับข้อผิดพลาดต่อไปนี้:
$ คราด
คราดยกเลิก!
LoadError: 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 `<บนสุด (จำเป็น)>'
/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 (จำเป็น) >'
/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:ใน `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 `<ด้านบน (จำเป็น)>'
/home/gchampenois/www/staging/shared/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache.rb:61:ใน `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 (required)>'
/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 `<ด้านบน (จำเป็น)>'
/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 `<ด้านบน (จำเป็น)>'
/home/gchampenois/www/staging/releases/20211126155023/config/boot.rb:4:in `require'
/home/gchampenois/www/staging/releases/20211126155023/config/boot.rb:4:in `<บนสุด (จำเป็น)>'
/home/gchampenois/www/staging/releases/20211126155023/config/application.rb:1:in `require_relative'
/home/gchampenois/www/staging/releases/20211126155023/config/application.rb:1:in `<บนสุด (จำเป็น)>'
/home/gchampenois/www/staging/releases/20211126155023/Rakefile:4:in `require_relative'
/home/gchampenois/www/staging/releases/20211126155023/Rakefile:4:in `<บนสุด (จำเป็น)>'
ดูเหมือนกำลังวิ่ง rbenv exec บันเดิล exec rake [คำสั่ง]
โทรจริง /usr/local/bin/bundle
แทนที่จะเป็นชิมของ rbenv แม้จะมี .rbenv/shims
และ .rbenv/bin
ครั้งแรกในของฉัน เส้นทาง
.
มีความคิดว่าทำไมและจะแก้ไขได้อย่างไร
สิ่งที่ฉันได้ลองไปแล้ว
อัพเดทอัญมณี -- ระบบ
rbenv รีแฮช
- การลบและติดตั้ง rbenv ใหม่ทั้งหมด
- ติดตั้ง ruby 2.7.0 ผ่าน rbenv
นี่คือสภาพแวดล้อมของฉัน:
$echo $เส้นทาง
/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 'คำอธิบาย'
คำอธิบาย: Ubuntu 20.04.2 LTS
รุ่น $ rbenv
* 2.7.1 (ตั้งค่าโดยตัวแปรสภาพแวดล้อม RBENV_VERSION)
$ ซึ่ง -a มัด
/home/gchampenois/.rbenv/shims/bundle
/usr/local/bin/bundle
/usr/bin/มัด
/bin/มัด
$ ซึ่ง -a อัญมณี
/home/gchampenois/.rbenv/shims/gem
$ ซึ่ง -a ทับทิม
/home/gchampenois/.rbenv/shims/ruby
$ ทับทิม -v
ruby 2.7.1p83 (2020-03-31 แก้ไข a0c7c23c9c) [x86_64-linux]
$ cat /usr/local/bin/bundle
#!/usr/bin/ruby2.7
#
# ไฟล์นี้สร้างโดย RubyGems
#
# แอปพลิเคชัน 'บันเดิลเลอร์' ได้รับการติดตั้งเป็นส่วนหนึ่งของอัญมณีและ
# ไฟล์นี้อยู่ที่นี่เพื่ออำนวยความสะดวกในการเรียกใช้งาน
#
ต้องการ 'ทับทิม'
เวอร์ชัน = ">= 0.a"
str = ARGV.ก่อน
ถ้า str
str = str.b[/\A_(.*)_\z/, 1]
ถ้า str และ Gem::Version.correct?(str)
รุ่น = str
ARGV.shift
จบ
จบ
ถ้า Gem.respond_to?(:activate_bin_path)
โหลด Gem.activate_bin_path('bundler', 'bundle', version)
อื่น
อัญมณี "บันเดอร์" เวอร์ชั่น
โหลด Gem.bin_path("bundler", "bundle", รุ่น)
จบ
$ บันเดิล 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
กำหนดค่า Dir /home/gchampenois/.rbenv/versions/2.7.1/etc
RubyGems 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
บิน Dir /home/gchampenois/.rbenv/versions/2.7.1/bin
เครื่องมือ
กิท 2.25.1
ไม่ได้ติดตั้ง RVM
rbenv rbenv 1.2.0-6-g304cb7b
ไม่ได้ติดตั้ง chruby
## Bundler สร้างข้อมูลเมตา
สร้างเมื่อ 2021-11-23
Git SHA 20d4957649
รุ่นที่วางจำหน่ายจริง
$ อัญมณี env
สภาพแวดล้อม RubyGems:
- เวอร์ชัน RUBYGEMS: 3.2.32
- เวอร์ชัน RUBY: 2.7.1 (2020-03-31 patchlevel 83) [x86_64-linux]
- ไดเรกทอรีการติดตั้ง: /home/gchampenois/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
- ไดเรกทอรีการติดตั้งของผู้ใช้: /home/gchampenois/.gem/ruby/2.7.0
- ปฏิบัติการ RUBY: /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/ruby/2.7.0
- การกำหนดค่าอัญมณี:
- :update_sources => จริง
- :verbose => จริง
- :backtrace => เท็จ
- :bulk_threshold => 1,000
- "gem" => "--ไม่มีเอกสาร --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/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /ถังขยะ
- /usr/เกม
- /usr/local/games
- /snap/bin