0

在 Windows 2012 服务器版上,当我运行 puppet-librarian install 时,出现以下错误。

Error: No such file or directory - C:/Users/Administrator/infrastructure/.tmp/librarian/cache/source/puppet/forge/forgeapi_puppetlabs_com/opentable-windowsfeature/999.999.999/cache/tmp-unpacker20150907-1308-19kvk70/opentable-windowsfeature- 999.999.999/spec/acceptance/nodesets/windows-2008R2-serverstandard-x64.yml Error: Try 'puppet help module install' for usage

我认为这是一个通用的 Windows 问题,我花了一段时间才找出错误。Windows 的绝对文件名最大长度为 255 个字符。Puppet-librarian 没有给出好的错误消息来表明这是根本原因。 NTFS 中的最大文件名长度(Windows XP 和 Windows Vista)?.

4

2 回答 2

1

长文件路径的问题可能是由于 puppet-librarian 使用 PMT(Puppet Module Tool)安装模块。更复杂的是,Librarian 从这个C:/Users/Administrator/infrastructure/.tmp/librarian/cache/source/puppet/forge/forgeapi_puppetlabs_com/opentable-windowsfeature/999.999.999/已经很长的路径开始,然后 PMT 添加cache/tmp-unpacker20150907-1308-19kvk70/opentable-windowsfeature-999.999.999到路径中,这更加激怒了长度。

PMT 存在路径长的问题。我们将通过在未来版本中添加 LFN(长文件名)支持来解决这个问题。投票并观看PUP-4866以了解何时修复。

由于以下调用,puppet-librarian 似乎也需要修复:

command.push(*[path.to_s, "--module_repository", module_repository, "--modulepath", path.to_s, "--module_working_dir", path.to_s, "--ignore-dependencies", target])
于 2015-09-10T13:54:27.147 回答
0

我的解决方案是将根目录从“C:/Users/Administrator/infrastructure”移动到“C:/infrastructure”。

于 2015-09-08T15:35:00.573 回答