1

我正在尝试在 AppHarbor 上进行 Handlebars 预编译。我们遵循此处的说明,该说明适用于除 AppHarbor 之外的所有构建机器。这是错误日志:

   CompileHandlebarsTemplates:
     Compiling Handlebars template files
     Executing handlebars  --output "templates.js" --min "D:\temp\iglbataj.o25\input\comp-prod-5d066abce08570e82575d1a1c877bd5c94d27b1c\WebApp\Templates"
     node "D:\temp\iglbataj.o25\input\comp-prod-5d066abce08570e82575d1a1c877bd5c94d27b1c\WebApp\Build\npm\node_modules\handlebars\bin\handlebars"  --output "templates.js" --min "D:\temp\iglbataj.o25\input\comp-prod-5d066abce08570e82575d1a1c877bd5c94d27b1c\WebApp\Templates"

     fs.js:679
       return binding.lstat(pathModule._makeLong(path));
                      ^
 5>EXEC : error : EPERM, operation not permitted 'D:\temp' [D:\temp\iglbataj.o25\input\comp-prod-5d066abce08570e82575d1a1c877bd5c94d27b1c\WebApp\WebApp.csproj]
         at Object.fs.lstatSync (fs.js:679:18)
         at Object.realpathSync (fs.js:1265:21)
         at tryFile (module.js:142:15)
         at Function.Module._findPath (module.js:181:18)
         at Function.Module._resolveFilename (module.js:336:25)
         at Function.Module._load (module.js:280:25)
         at Function.Module.runMain (module.js:497:10)
         at startup (node.js:119:16)
         at node.js:901:3

我们已经签入了 node.js 车把模块。尝试使用安装在 AppHarbor 上的 node.exe 调用它,并检查 x64 和 x86 版本的 node.exe。它们都不起作用。尝试在本地复制非常长的路径,以查看问题是否仍然在本地使用长路径构建。甚至尝试输出到默认输出而不是文件无济于事。在这一点上,我被困在这个问题上。请帮忙。

4

1 回答 1

1

这是一个权限问题。

可能您的节点进程没有读取文件或写入目标文件夹的正确权限。

你可以用 强制它sudo,但这并不是一个真正的解决方案。所以检查权限并确保节点进程可以访问相关目录/文件的写入和读取。

您可以 googlechmodchown获取有关如何更改权限的说明。(如果没有更多关于您的系统架构的详细信息,我无法为您提供任何进一步的帮助)

于 2013-07-16T02:27:54.527 回答