我安装了 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。你不能让它们同时运行,试图记住宝石的安装位置会很痛苦,所以我建议坚持使用其中一个。
(我只在不同的系统上使用它们。