[英]Cannot run rails server locally wrong ruby version
我最近使用 rbenv 安裝了 ruby 2.7.1。 我確保.ruby-version
和 Gemfile 文件都有 2.7.1 作為 ruby 版本。 現在我無法在本地運行 rails s,這樣做會在控制台中返回以下 output:
警告:Bundler (2.1.2) 的運行版本比創建鎖定文件的版本 (2.1.4) 舊。 我們建議您通過運行
gem install bundler:2.1.4
升級到創建鎖定文件的版本。
你的 Ruby 版本是 2.7.0,但是你的 Gemfile 指定了 2.7.1
幾個小時以來,我一直在搜索和嘗試不同的東西,但無法找出問題所在,非常感謝您的幫助。
關注 output 可能有助於解決問題:
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
rbenv' in PATH: /usr/bin/rbenv Checking for rbenv shims in PATH: OK Checking
20200819)
計算已安裝的 Ruby 個版本:1 個版本
檢查 RubyGems 設置:OK
審核安裝的插件:OK
bundle env
Bundler 2.1.4
Platforms ruby, x86_64-linux
Ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9cec0d0ffcba012279cd652d28ad5bf3) [x86_64-linux]
Full Path /home/imran/.rbenv/versions/2.7.1/bin/ruby
Config Dir /home/imran/.rbenv/versions/2.7.1/etc
RubyGems 3.1.2
Gem Home /home/imran/.gem/ruby/2.7.0
Gem Path /home/imran/.gem/ruby/2.7.0:/home/imran/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
User Home /home/imran
User Path /home/imran/.gem/ruby/2.7.0
Bin Dir /home/imran/.gem/ruby/2.7.0/bin
Tools
Git 2.25.1
RVM not installed
rbenv rbenv 1.1.1
chruby not installed
Built At 2020-01-05
Git SHA 32a4159325
Released Version true
gem env
RubyGems 環境:
我的~/.profile
包含以下語句:
導出 PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
export GEM_HOME="$(ruby -e 'puts Gem.user_dir')"
導出 PATH="$HOME/.rbenv/bin:$PATH"
您是否嘗試只更新 bundler 作為輸出說:
gem install bundler:2.1.4
或者
gem install bundler
bundle update
rbenv
根據您安裝的 ruby 版本創建墊片。 每次您通過rbenv global XYZ
或rbenv local ABC
更改 ruby 版本時,rbenv 將攔截 ruby 命令並將其重定向到適當的 ruby 安裝版本,該版本將查看其關聯的 gem。
因此,如果您將本地版本設置為2.7.1
,並且您收到的錯誤消息告訴您您的捆綁包版本不同,則您可能沒有在2.7.1
Ruby shim 中安裝bundler
器 gem。
要解決此問題,您可以更改 ruby 版本並安裝 gem:
rbenv local 2.7.1
ruby -v
# 2.7.1
gem install bundler
現在,確保在bundler
中使用與安裝的捆綁器 gem 相同的捆綁器版本。 如果不是,則意味着Gemfile.lock
文件已生成並與以前的版本捆綁在一起。 您可以通過刪除和重建來強制更新Gemfile.lock
,但是,如果您正在與其他開發人員合作,您可能希望在您這樣做之前與他們交談(並提交源代碼控制)
#Gemfile.lock
BUNDLED_WITH 2.1.5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.