我绝对没有写过任何Ruby程序。我只是使用Jekyll设置我的静态博客。
我通过bundle install
从Gemfile安装了所有内容。我的Gemfile看起来像这样:
source "https://rubygems.org"
gem "github-pages"
group :jekyll-plugins do
gem "octopress-minify-html"
end
octopress插件的一个依赖项是uglifier 2.7.2,它在第一个bundle install
调用中正确安装。
在尝试以后依赖于另一个版本的uglifier的另一个插件时,我通过
安装了uglifiergem install uglifier
在此之前,我使用gem
安装的唯一软件包是Bundler,其他所有软件包都是通过bundle install
完成的。上面的命令安装了uglifier 4.1.9,后来在使用Jekyll构建时出现了一些问题。
但似乎我无法将uglifier恢复到2.7.2。从那以后,Bundler一直在解决octopress插件对uglifier 4.1.9(不兼容)的依赖性。我尝试了sudo bundle clean --force
和sudo gem uninstall --all
,删除~/.bundle
和~/.gem
并重新开始,但仍然将Bundler安装uglifier 4.1.9作为依赖性。
我在新VM上尝试了整个过程并从apt install ruby ruby-dev
开始,这次Bundler正确地将依赖关系解析为2.7.2并且我能够构建我的站点。它也在Travis CI上正确地解决了问题。
问题:如何让Bundler忘记uglifier 4.1.9并停止我机器上的错误依赖解析?
注意:通过删除整个WD并从GitHub重新克隆来保持工作目录的清洁,因此它在不同环境中保持一致。
答案 0 :(得分:0)
尝试以下一个:
在jekyll
:
Gemfile
个命令
bundle exec jekyll build
重新对齐您的锁定文件,然后重新对齐 build :
我。运行bundle update
II。运行bundle exec jekyll build
重新生成您的锁文件,然后 build :
我。删除Gemfile.lock
II。运行bundle exec jekyll build