如何将Puppetfile更新为API URL v3?

时间:2014-06-27 20:44:12

标签: vagrant puppet librarian

我使用Vagrant和Puppet。我的Puppetfile如下所示:

forge "http://forge.puppetlabs.com"
mod 'willdurand/nodejs'
# ...

我使用librarian-puppet v1.1.2为Puppet下载必要的依赖项。在工作期间,工具开始显示警告:

Replacing Puppet Forge API URL to use v3 https://forgeapi.puppetlabs.com. 
You should update your Puppetfile

forge "https://forgeapi.puppetlabs.com"替换第一个Puppetfile行并不能解决问题。我应该如何更新我的Puppetfile以摆脱这些警告?


我更新forge.rb脚本后,正如@AndreiFecioru所建议的那样:

if uri =~ %r{^http(s)?://forge\.puppetlabs\.com}
  puts "---------------> #{uri}"
  uri = "https://forgeapi.puppetlabs.com"
  warn { "Replacing Puppet Forge API URL to use v3 #{uri}. You should update your Puppetfile" }
end

输出如下:

$sudo librarian-puppet update
---------------> http://forge.puppetlabs.com
Replacing Puppet Forge API URL to use v3 https://forgeapi.puppetlabs.com. You should update your Puppetfile
...

我不知道为什么网址与Puppetfile中的网址不同。我尝试删除Puppetfile.lock并再次运行librarian-puppet install - 仍会显示警告。

2 个答案:

答案 0 :(得分:2)

你使用的是什么版本的librarian-puppet gem?我收到了相同的警告信息,切换到“v3”表格(伪造“https://forgeapi.puppetlabs.com”)并且工作正常(没有更多警告信息)。

快速谷歌搜索后,我注意到这个问题在gem的1.1.0版本中得到修复(请参阅此主题:https://github.com/rodjek/librarian-puppet/issues/210)。我正在使用librarian-puppet gem的1.1.2版本,似乎没问题。

答案 1 :(得分:1)

您的某个依赖项可能正在使用旧的forge "http://forge.puppetlabs.com"行。

这只是一个警告,可以忽略。