簡體   English   中英

當使用`bundle exec jekyll new創建新的默認站點時,Jekyll / Bundler失敗。 --force`

[英]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 execGemfile所有其他命令的前面

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM