我做了bundle config --global path vendor/bundle
以便Bundler安裝依賴項(包括Jekyll)到項目目錄而不是GEM_HOME。我沒有將Jekyll安裝到GEM_HOME。使用bundle exec jekyll new創建新的默認站點時,Jekyll/Bundler失敗。 --force`
當我初始化項目目錄...
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
......我預料傑基爾會寫默認覆蓋我的原Gemfile,然後bundle install
默認網站依賴關係從其 gemfile(例如,最小值)到vendor/bundle。
相反,這裏是輸出:
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
這是一個錯誤,或者我誤解一些有關的方式哲基爾和捆紮機工作?
按照你的步驟,我無法重現這一點。但是,爲什麼你會將--force作爲默認行爲?你是否真的處於想要頻繁覆蓋項目的情況? –
@maxple我的項目目錄包含一個Gemfile(即非空),所以我需要使用--force來初始化jekyll – jptacek
我試着用同樣的Gemfile在這裏顯示。它完全覆蓋了Gemfile。 –