Ruby尝试从旧版本的gem加载

问题描述 投票:0回答:1

我正在尝试运行通过以下行调用script gem的ansi

require 'ansi/code'

但是,当我尝试运行它时,出现以下错误:

/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- ansi/code (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from ./taoup:4:in `<main>'

我试图确保我运行Ruby v2.6.5,然后重新安装依赖项。

→ rbenv versions
  system
  2.1.3
  2.2.1
* 2.6.5 (set by /Users/ricky/.rbenv/version)

→ gem install ansi
Successfully installed ansi-1.5.0
Parsing documentation for ansi-1.5.0
Done installing documentation for ansi after 0 seconds
1 gem installed

作为参考,似乎rubygems运行在v.2.6.5。

→ gem env   
RubyGems Environment:
  - RUBYGEMS VERSION: 3.0.3
  - RUBY VERSION: 2.6.5 (2019-10-01 patchlevel 114) [x86_64-darwin18]
  - INSTALLATION DIRECTORY: /Users/ricky/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0
  - USER INSTALLATION DIRECTORY: /Users/ricky/.gem/ruby/2.6.0
  - RUBY EXECUTABLE: /Users/ricky/.rbenv/versions/2.6.5/bin/ruby
  - GIT EXECUTABLE: /usr/local/bin/git
  - EXECUTABLE DIRECTORY: /Users/ricky/.rbenv/versions/2.6.5/bin
  - SPEC CACHE DIRECTORY: /Users/ricky/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/ricky/.rbenv/versions/2.6.5/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-18
  - GEM PATHS:
     - /Users/ricky/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0
     - /Users/ricky/.gem/ruby/2.6.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri"
     - "update" => "--no-rdoc --no-ri"
  - REMOTE SOURCES:
     - https://rubygems.org/

我认为我需要指导执行环境以使用我想要的Ruby版本。

ruby rubygems rbenv
1个回答
0
投票

好的,看起来脚本指向了特定的Ruby安装,如此处指定:

#!/usr/bin/ruby

此版本的红宝石不是我打算使用的版本。毕竟是不同的版本:

→ /usr/bin/ruby --version 
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]

因此,我通过像这样重写Shebang声明对脚本进行了快速而又肮脏的修复:

#!/Users/ricky/.rbenv/versions/2.6.5/bin/ruby

如果有人知道与版本无关的方法来解决此依赖性,请告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.