[英]Jekyll / Bundler fails when creating new default site with `bundle exec jekyll new . --force`
我確實將bundle config --global path vendor/bundle
以便Bundler將依賴項(包括Jekyll)安裝到項目目錄而不是GEM_HOME。 我尚未將Jekyll安裝到GEM_HOME。
當我初始化項目目錄時...
mkdir site && cd site
bundle init
更新了我的項目Gemfile的內容...
# frozen_string_literal: true
source "https://rubygems.org"
gem "jekyll"
將Jekyll安裝到項目目錄並使用默認腳手架創建了一個新站點...
bundle install
bundle exec jekyll new . --force
...我希望Jekyll將默認站點腳手架寫入當前目錄,覆蓋我原來的Gemfile,然后bundle install
默認站點依賴項從其 Gemfile(例如,最小值)捆綁到供應商/捆綁包中。
相反,這是輸出:
Running bundle install in /Users/joeptacek/site...
Bundler: /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/resolver.rb:386:in `block in verify_gemfile_dependencies_are_found!': Could not find gem 'minima (~> 2.0)' in any of the gem sources listed in your Gemfile. (Bundler::GemNotFound)
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/resolver.rb:356:in `each'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/resolver.rb:356:in `verify_gemfile_dependencies_are_found!'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/resolver.rb:203:in `start'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/resolver.rb:182:in `resolve'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/definition.rb:252:in `resolve'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/definition.rb:176:in `specs'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/definition.rb:235:in `specs_for'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/definition.rb:224:in `requested_specs'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/runtime.rb:118:in `block in definition_method'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/runtime.rb:19:in `setup'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler.rb:100:in `setup'
Bundler: from /Users/joeptacek/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/setup.rb:20:in `<top (required)>'
Bundler: from /Users/joeptacek/.rubies/ruby-2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Bundler: from /Users/joeptacek/.rubies/ruby-2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
如果我再次運行bundle install
,則安裝依賴項不會有任何問題。
為了避免出錯,我的解決方法已經做出new
網站與
bundle exec jekyll new . --force --skip-bundle && bundle install
這是一個錯誤,還是我誤解了傑基爾和邦德勒的工作方式?
據我所知,您的工作流程與官方文檔的唯一區別是,您將jekyll
gem及其依賴項安裝到vendor/bundle
。
jekyll jekyll new
會與站點腳手架一起創建一個Gemfile。 因此,您無需預先初始化一個,然后使用--force
開關將其覆蓋。
要在/projects/site
搭建新的Jekyll網站,只需執行以下操作:
# from 'projects/' directory
$ jekyll new site
現在,您可以編輯Gemfile
並根據需要添加其他所有gem。
注意:它不是bundle exec jekyll new --
而是普通jekyll new
。
僅當目錄中存在Gemfile
時, bundle exec
才Gemfile
在所有其他命令的前面 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.