Jekyll站点部署到Netlify-错误的gem bundle安装(使用Bundler 2或>)/构建失败

时间:2019-02-16 20:32:35

标签: github rubygems jekyll bundler netlify

我正在使用Cloud9和GitHub(私有存储库)。我已经能够将基本的登录页面部署到Netlify,但是当我尝试部署任何 Jekyll网站时,我仍然收到相同的错误消息。部署日志中的代码段:

> gem install jekyll bundler  
> gem install bundle  
> gem update --system  
> cd new_directory && bundle install
> ~/new_directory/ bundle update  
> ~/new_directory/ bundle exec jekyll serve  
*** Works perfectly on localhost *** 

经过许多次失败的尝试后,我创建了一个新的测试开发环境。根据Jekyll文档,我确保我拥有最新的Ruby,RubyGems,gcc,g ++,make&依赖项。做了通常的配置,然后是Jekyll新的test_directory。步骤:

> bundler -v  
returns  
> Bundler version 2.0.1

此时一切看起来都很好(jekyll 3.8.5-gem 3.0.2-ruby 2.5.1p57(2018-03-29修订版63029)[x86_64-linux])
重要提示:

> DEPENDENCIES  
> -jekyll (~> 3.8.5)  
> -jekyll-feed (~> 0.6)  
> -minima (~> 2.0)  
> -tzinfo-data  
> RUBY VERSION  
> ruby 2.5.1p57  
> BUNDLED WITH  
> 2.0.1  

当我推送到全新的仓库时,我得到与上面相同的错误消息:
“将Bundler 2或更高版本与此锁定文件一起使用”

锁定文件的片段:

> url: "https://infallible-hodgkin-e15692.netlify.com/"

我还将此添加到_config.yml文件中:

> ruby 2.5.1

对于每个Netlify文档,我在根目录中的以下行添加了/.ruby-version文件:

>** WARNING **  
> Using custom ruby version ruby 2.5.1, this will slow down the build.  
> To ensure fast builds, set the RUBY_VERSION environment variable, or .ruby-version file, to an included ruby version.  
> Included versions: 2.3.6 2.4.3 2.2.9

更新所有内容并执行git push后,它仍然无法构建我的网站,但是这次我在部署日志中得到了几行:

x = y = np.linspace(0, 4*np.pi, 2000)

def cos(x, y):
    return np.cos(x)**2

def squared(x, y):
    return x**2

X, Y = np.meshgrid(x, y)

Z = cos(X, Y)
plt.contourf(Z, cmap = 'Greys')

Z = squared(X, Y)
plt.contourf(Z, cmap = 'Greys')

不用说,我尝试切换到每个“包含”的Ruby -v(rvm使用。*)。完成了安装每个版本的过程,并每次重复上述步骤。没有运气。

任何有关下一步尝试的建议都将受到赞赏。很抱歉,我的帖子太长了,我尽量保持简洁。请让我知道是否错过了任何事情。

1 个答案:

答案 0 :(得分:1)

所以问题是我应该一直在使用Bundle 1而不是Bundle 2 plus ruby​​ 2.3.6。确保您使用的是捆绑软件版本1。您可以在此处阅读更多内容:
https://bundler.io/guides/bundler_2_upgrade.html

切换到ruby 2.3.6:

> rvm use 2.3.6 (it'll give you the prompt to install it)

在项目的根目录上运行此命令,以检查它是否通过运行捆绑软件版本起作用

> gem install bundler -v "~>1.0"  

然后

> gem install jekyll
> gem install bundle

这是我在mi Gemfile.lock上所做的更改:

> RUBY VERSION  
> ruby 2.3.6p384  
> BUNDLED WITH  
> 1.17.3

我的Gemfile在顶部仅显示ruby“ 2.3.6”,我也将/.ruby-version文件更改为ruby 2.3.6(无引号)。就是这样。不要忘记将exec jekyll的服务,提交和推送捆绑在一起,应该没问题。