Rubygems 捆绑机可以';t解析';手动安装和删除
我绝对没有写过任何Ruby程序。我正在用Jekyll建立我的静态博客 我通过Rubygems 捆绑机可以';t解析';手动安装和删除,rubygems,jekyll,bundler,Rubygems,Jekyll,Bundler,我绝对没有写过任何Ruby程序。我正在用Jekyll建立我的静态博客 我通过捆绑安装安装了Gemfile中的所有内容。我的文件如下所示: source "https://rubygems.org" gem "github-pages" group :jekyll-plugins do gem "octopress-minify-html" end octopress插件的一个依赖项是uglifier 2.7.2,它在第一次bundle install调用中正确安装 后来,当我尝试另一
捆绑安装安装了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的插件时,我通过安装了uglifier
gem install uglifier
在此之前,我与gem
一起安装的唯一软件包是Bundler,其他一切都是通过bundle install
完成的。上面的命令安装了uglifier 4.1.9,这后来在使用Jekyll构建时导致了一些问题
但我似乎无法将丑陋还原为2.7.2。Bundler一直在解决octopress插件对uglifier 4.1.9(不兼容)的依赖。我尝试了sudo bundle clean--force
和sudo gem uninstall--all
,删除~/.bundle
和~/.gem
并重新开始,但Bundler仍然安装了uglifier 4.1.9作为依赖项
我在一个新的虚拟机上尝试了整个过程,并从apt install ruby dev
开始,这次Bundler正确地将依赖关系解析为2.7.2,我能够构建我的站点。它还正确地解决了Travis CI的问题
问题:如何让Bundler忘记uglifier 4.1.9并停止我机器上的错误依赖解析
注意:通过删除整个WD并从GitHub重新克隆,工作目录保持干净,因此它在不同环境中保持一致。请尝试以下操作之一:
在Gemfile
的上下文中运行jekyll
命令:
bundle exec jekyll build
重新对齐锁定文件,然后生成:
一,。运行包更新
二,。运行bundle exec jekyll build
重新生成锁文件,然后生成:
一,。删除Gemfile.lock
二,。运行bundle exec jekyll build
我已经试过了1和3(我应该说明这一点),但2对我来说似乎是新的,我会稍后再尝试。