【发布时间】:2019-10-03 20:28:04
【问题描述】:
我正在根据 Jekyll 主页上提供的信息在我的计算机上设置 Jekyll。 Ruby 2.6.3 是通过rbenv 安装的。
在第一步中,我创建了一个最小的 Gemfile,只包含 Jekyll
source "https://rubygems.org"
ruby "2.6.3"
group :base do
gem 'jekyll', '4.0.0'
end
我通过bundle install 安装了所有gem,据我所知,它们已正确安装。我通过
user@host:homepage> bundle info jekyll
* jekyll (4.0.0)
Summary: A simple, blog aware, static site generator.
Homepage: https://jekyllrb.com
Path: /Users/user/.gem/ruby/2.6.0/gems/jekyll-4.0.0
根据教程,我现在应该可以通过bundle exec jekyll serve 运行 Jekyll。如果我现在执行此命令,我总是会收到此错误:
user@host:homepage> bundle exec jekyll serve
bundler: command not found: jekyll
Install missing gem executables with `bundle install`
为什么 Bundler 找不到已安装的 gem?
只有在运行带有 --path 选项的 Bundler 时我才能工作,如下所示:bundle install --path vendor/bundle。然后Bundler也写.bundle/config,内容如下:
---
BUNDLE_PATH: "vendor/bundle"
在这种情况下,很明显 Bundler 能够找到已安装的 gem。
但是 Bundler 不应该也不能在没有明确路径的情况下找到安装的 gems 吗?我只想下载和安装 gems 一次,而不是每个项目。
【问题讨论】:
-
我也有类似的问题。我是 ruby/jekyll 的新手;通过step-by-step tutorial。在本地安装了 jekyll 和 bundler (~/.gem/ruby/2.7.0/bin/*)。我也做了
bundle config set path 'vendor/bundle'所以每次我做jekyll new [PATH]gems 都安装在那里。我正在寻找一种方法,bundle install可以找到我的本地 jekyll gem,而无需在每个小项目中安装它。我试过 `gem "jekyll", :path => "/User/Steve/.gem/ruby/2.7.0/bin/jekyll" 但 :path 似乎只是当前目录的相对路径。你找到答案了吗?