首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用rbenv保存不同Ruby版本的不同版本的宝石

如何用rbenv保存不同Ruby版本的不同版本的宝石
EN

Stack Overflow用户
提问于 2021-12-07 02:53:25
回答 1查看 266关注 0票数 0

首先,我用Ruby2.6.3安装了流畅的工具。

代码语言:javascript
复制
$ rbenv versions
* system (set by /Users/jing/.rbenv/version)
  2.7.5
$ gem
gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 3.0.3
  - RUBY VERSION: 2.6.3 (2019-04-16 patchlevel 62) [universal.x86_64-darwin19]
  - INSTALLATION DIRECTORY: /Users/jing/.gem
  - USER INSTALLATION DIRECTORY: /Users/jing/.gem/ruby/2.6.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /Users/jing/.gem/bin
  - SPEC CACHE DIRECTORY: /Users/jing/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-19
  - GEM PATHS:
     - /Users/jing/.gem
     - /Users/jing/.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
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/Cellar/rbenv/1.2.0/libexec
     - /Users/jing/.rbenv/shims
     - /Users/jing/.tiup/bin
     - /Users/jing/opt/anaconda3/condabin
     - /usr/local/sbin
     - /Users/jing/code/github/zk-code/scripts
     - /Users/jing/tools/apache-zookeeper-3.5.5-bin/bin
     - /Users/jing/code/github/trace/sky/skywalking-cli/bin
     - /Users/jing/tools/apache-skywalking-apm-bin-es7/bin
     - /usr/local/opt/ruby/bin
     - /Users/jing/tools/apache-maven-3.6.3/bin
     - /Users/jing/.gem/bin
     - /Users/jing/.cargo/bin
     - /Users/jing/code/github/rtc/depot_tools
     - /Users/jing/.gem/ruby/2.3.0/bin
     - /usr/local/opt/coreutils/libexec/gnubin
     - /Users/jing/tools/apache-skywalking-apm-bin-es7/bin
     - /Users/jing/tools/confluent-6.1.0/bin
     - /usr/local/opt/findutils/libexec/gnubin
     - /usr/local/opt/gnu-sed/libexec/gnubin
     - /Users/jing/tools/mongodb-osx-x86_64-4.0.2/bin
     - /usr/local/opt/mysql@5.7/bin
     - /Users/jing/tools/spark-2.2.0-bin-hadoop2.7/bin
     - /Users/jing/bin
     - /usr/local/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /Library/TeX/texbin
     - /Library/Apple/usr/bin
     - /Applications/Wireshark.app/Contents/MacOS
     - /Users/jing/go/bin
     - /Users/jing/.pub-cache/bin
     - /Applications/Visual Studio Code.app/Contents/Resources/app/bin
     - /usr/local/opt/fzf/bin
$ gem install fluentd
Successfully installed fluentd-1.14.3
Parsing documentation for fluentd-1.14.3
Done installing documentation for fluentd after 3 seconds
1 gem installed
$ ls ~/.gem/gems -lrt | tail -n1
drwxr-xr-x 28 jing staff 896 Dec  7 10:33 fluentd-1.14.3
$ head -n1 ~/.gem/bin/fluentd
#!/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby

然后,我在rbenv中选择了Ruby2.7.5,并再次安装了fluentd。

代码语言:javascript
复制
$ rbenv shell 2.7.5
$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 3.1.6
  - RUBY VERSION: 2.7.5 (2021-11-24 patchlevel 203) [x86_64-darwin19]
  - INSTALLATION DIRECTORY: /Users/jing/.gem
  - USER INSTALLATION DIRECTORY: /Users/jing/.gem/ruby/2.7.0
  - RUBY EXECUTABLE: /Users/jing/.rbenv/versions/2.7.5/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /Users/jing/.gem/bin
  - SPEC CACHE DIRECTORY: /Users/jing/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/jing/.rbenv/versions/2.7.5/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-19
  - GEM PATHS:
     - /Users/jing/.gem
     - /Users/jing/.gem/ruby/2.7.0
     - /Users/jing/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/jing/.rbenv/versions/2.7.5/bin
     - /usr/local/Cellar/rbenv/1.2.0/libexec
     - /Users/jing/.rbenv/shims
     - /Users/jing/.tiup/bin
     - /Users/jing/opt/anaconda3/condabin
     - /usr/local/sbin
     - /Users/jing/code/github/zk-code/scripts
     - /Users/jing/tools/apache-zookeeper-3.5.5-bin/bin
     - /Users/jing/code/github/trace/sky/skywalking-cli/bin
     - /Users/jing/tools/apache-skywalking-apm-bin-es7/bin
     - /usr/local/opt/ruby/bin
     - /Users/jing/tools/apache-maven-3.6.3/bin
     - /Users/jing/.gem/bin
     - /Users/jing/.cargo/bin
     - /Users/jing/code/github/rtc/depot_tools
     - /Users/jing/.gem/ruby/2.3.0/bin
     - /usr/local/opt/coreutils/libexec/gnubin
     - /Users/jing/tools/apache-skywalking-apm-bin-es7/bin
     - /Users/jing/tools/confluent-6.1.0/bin
     - /usr/local/opt/findutils/libexec/gnubin
     - /usr/local/opt/gnu-sed/libexec/gnubin
     - /Users/jing/tools/mongodb-osx-x86_64-4.0.2/bin
     - /usr/local/opt/mysql@5.7/bin
     - /Users/jing/tools/spark-2.2.0-bin-hadoop2.7/bin
     - /Users/jing/bin
     - /usr/local/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /Library/TeX/texbin
     - /Library/Apple/usr/bin
     - /Applications/Wireshark.app/Contents/MacOS
     - /Users/jing/go/bin
     - /Users/jing/.pub-cache/bin
     - /Applications/Visual Studio Code.app/Contents/Resources/app/bin
     - /usr/local/opt/fzf/binio Code.app/Contents/Resources/app/bin
     - /usr/local/opt/fzf/bin
$ gem install fluentd
Successfully installed fluentd-1.14.3
Parsing documentation for fluentd-1.14.3
Done installing documentation for fluentd after 3 seconds
1 gem installed
$ ls ~/.gem/gems -lrt | tail -n1
drwxr-xr-x 28 jing staff 896 Dec  7 10:37 fluentd-1.14.3
$ head -n1 ~/.gem/bin/fluentd
#!/Users/jing/.rbenv/versions/2.7.5/bin/ruby

从上面的控制台会话中,我知道fluent是在同一个位置重新安装的。

我不想让一个Ruby版本的宝石覆盖另一个ruby版本的宝石。有办法单独为一个Ruby版本保留一个gem吗?

  • 操作系统: macOS 10.15.5
  • rbenv: 1.2.0
EN

回答 1

Stack Overflow用户

发布于 2021-12-08 02:05:05

从设计上看,你不能。该项目认为这是一项功能:

One thing well. rbenv is concerned solely with switching Ruby versions.

Buuuuut,您可以使用插件来创建Gemset,您可以在每个应用程序的基础上切换它。

我没有使用它,但是它看起来rbenv-gemset插件会给你你想要的东西:https://github.com/jf/rbenv-gemset

安装后,您可以在项目的根目录中创建默认的you:

$rbenv gemset init

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70254384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档