使用 rbenv 管理路径



我安装了 rbenv 来管理我的 ruby 安装,然后我随后运行了gem install github-pages来获取开发 github 页面站点所需的jekyll和其他依赖项。但是,现在当我尝试运行jekyll命令时,我得到

The program 'jekyll' is currently not installed. You can install it by typing: 
sudo apt-get install jekyll

我认为这是一个路径问题,但我认为路径应该由 rbenv 处理。我以前在使用 RVM 而不是 rbenv 完成相同的过程时也遇到了同样的问题。我该如何解决这个问题?

我刚刚尝试运行gem env并得到以下内容:

RubyGems Environment:

- RUBYGEMS VERSION: 2.5.1
  - RUBY VERSION: 2.3.0 (2015-12-25 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/daniel/.rvm/gems/ruby-2.3.0
  - USER INSTALLATION DIRECTORY: /home/daniel/.gem/ruby/2.3.0
  - RUBY EXECUTABLE: /home/daniel/.rbenv/versions/2.3.0/bin/ruby
  - EXECUTABLE DIRECTORY: /home/daniel/.rvm/gems/ruby-2.3.0/bin
  - SPEC CACHE DIRECTORY: /home/daniel/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /home/daniel/.rbenv/versions/2.3.0/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/daniel/.rvm/gems/ruby-2.3.0
     - /home/daniel/.rvm/gems/ruby-2.3.0@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--no-document"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /home/daniel/.rbenv/versions/2.3.0/bin
     - /home/daniel/.rbenv/libexec
     - /home/daniel/.rbenv/plugins/ruby-build/bin
     - /home/daniel/.rbenv/plugins/ruby-build/bin
     - /home/daniel/.rbenv/shims
     - /home/daniel/.rbenv/bin
     - /opt/jdk1.8.0_65/bin/home/daniel/.rvm/gems/ruby-2.3.0/bin
     - /home/daniel/.rvm/gems/ruby-2.3.0@global/bin
     - /home/daniel/.rvm/rubies/ruby-2.3.0/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/games
     - /usr/local/games
     - /home/daniel/.rvm/bin

您同时安装并运行了 rbenv 和 RVM。别这样。

根据 rbenv 文档:

兼容性说明:rbenv 与 RVM 不兼容。在安装 rbenv 之前,请确保完全卸载 RVM 并从 shell 初始化文件中删除对它的任何引用。

为什么深入研究 shell 如何找到偏离主题的命令。如果你有这样的倾向,你可以研究一下。

我应该将/home/daniel/.rmv/gems 复制到/home/daniel/.rbenv/bin 吗?

不。

"只是复制"将冒

着破坏的风险。

我建议通过在 ~/.bash_profile 中注释掉其初始化来暂时禁用 rbenv,然后重新启动终端会话,导致只有 RVM 可用。然后运行

gem list --no-versions > ~/rvm-gems-list

然后通过删除注释标记重新启用 rbenv,并注释掉 RVM 初始化并重新启动终端会话以授予 rbenv 控制权。跑

xargs gem install --conservative < ~/rvm-gems-list

这将旋转 RVM 实例中安装的所有 Gem,并让 gem 安装任何缺少的 Gem。完成后,您可以删除 rvm-gems 列表文件:

rm ~/rvm-gems-list

此时,您需要删除 RVM,或通过如上所述交替启用/禁用它们来回切换 rbenv 和 RVM。你不能让它们同时运行,试图记住宝石的安装位置会很痛苦,所以我建议坚持使用其中一个。

(我只在不同的系统上使用它们。

相关内容

最新更新