【问题标题】:How to solve rails s error Gem::MissingSpecVersionError problem?如何解决 rails 的错误 Gem::MissingSpecVersionError 问题?
【发布时间】:2021-09-29 02:03:32
【问题描述】:

我在尝试运行应用程序时遇到以下错误,所以不知道如何解决。

$ rails s
Traceback (most recent call last):
    5: from bin/rails:2:in `<main>'
    4: from bin/rails:2:in `load'
    3: from /Users/jolienai/Documents/github.com/railsfriends/friends/bin/spring:3:in `<top (required)>'
    2: from /Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_gem.rb:62:in `gem'
    1: from /Library/Ruby/Site/2.6.0/rubygems/dependency.rb:323:in `to_spec'
/Library/Ruby/Site/2.6.0/rubygems/dependency.rb:313:in `to_specs': Could not find 'bundler' (2.2.24) required by your /Users/jolienai/Documents/github.com/railsfriends/friends/Gemfile.lock. (Gem::MissingSpecVersionError)
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.2.24`
Checked in 'GEM_PATH=/Users/jolienai/.gem/ruby/2.6.0:/Library/Ruby/Gems/2.6.0:/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0' , execute `gem env` for more information
~/Documents/github.com/railsfriends/friends $ 

我尝试了下面的命令,但又遇到了一个错误

$ gem install bundler:2.2.24
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted @ apply2files - /usr/local/lib/ruby/gems/3.0.0/gems/bundler-2.2.24/CHANGELOG.md
$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 3.2.24
  - RUBY VERSION: 3.0.2 (2021-07-07 patchlevel 107) [x86_64-darwin20]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/3.0.0
  - USER INSTALLATION DIRECTORY: /Users/jolienai/.gem/ruby/3.0.0
  - RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /usr/local/lib/ruby/gems/3.0.0/bin
  - SPEC CACHE DIRECTORY: /Users/jolienai/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /usr/local/Cellar/ruby/3.0.2/etc
  - RUBYGEMS PLATFORMS:
     - ruby
     - x86_64-darwin-20
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/3.0.0
     - /Users/jolienai/.gem/ruby/3.0.0
     - /usr/local/Cellar/ruby/3.0.2/lib/ruby/gems/3.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/opt/ruby/bin
     - /Users/jolienai/google-cloud-sdk/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /usr/local/go/bin
     - /usr/local/share/dotnet
     - ~/.dotnet/tools
     - /Library/Frameworks/Mono.framework/Versions/Current/Commands
     - /Users/jolienai/.rvm/bin
```

【问题讨论】:

  • 尝试使用 sudo。这将是一个快速的解决方案。但更好的方法是保持系统红宝石清洁。因此,您需要安装 rvm 或 rbenv。然后安装所需的 ruby​​ 版本、gems 等。rvm.io/rvm/install
  • 这看起来像是通过自制软件而不是系统 ruby​​(即 2.6.3)安装的 ruby​​,但同意您安装 rvm 或 rbenv 的建议,您可以通过自制软件进行安装。除了管理多个版本之外,它们还将您的 gem 存储在您的用户目录下,因此需要 sudo 访问权限。
  • 我在 Mac 上工作,所以它已经安装了 ruby​​。我还安装了 rvm 1.29.10(最新)。

标签: ruby-on-rails ruby rubygems bundler gemspecs


【解决方案1】:

刚遇到同样的问题,我删除了 Gemfile.lock 并安装了包。

rm Gemfile.lock
bundle install

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-16
    • 2015-02-11
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多