使用rbenv管理路径

时间:2016-02-12 18:27:18

标签: ruby jekyll github-pages rbenv

我安装了rbenv来管理我的ruby安装,然后我运行gem install github-pages来获取jekyll以及开发github页面站点所需的其他依赖项。但是,现在当我尝试运行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

1 个答案:

答案 0 :(得分:1)

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

the rbenv documentation

  

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

为什么要深入研究shell如何找到偏离主题的命令。如果您愿意,可以研究一下。

  

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

没有

"只需复制"会冒更大的破坏风险。

我建议暂时禁用rbenv,方法是在〜/ .bash_profile中注释掉它的初始化,然后重启终端会话,导致只有RVM可用。然后运行

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

然后通过删除注释标记重新启用rbenv,并注释掉RVM初始化并重新启动终端会话以提供rbenv控制。运行

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

它将遍历您的RVM实例中安装的所有gem,并让gem安装任何缺少的。完成后,您可以删除rvm-gems-list文件:

rm ~/rvm-gems-list

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

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