不允许把手编译操作

时间:2013-07-16 00:53:18

标签: node.js handlebars.js appharbor

我正在尝试让Handlebars预编译在AppHarbor上运行。我们遵循here指令,该指令适用于除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调用它,以及检查node.exe的x64和x86版本。它们都不起作用。尝试在本地复制真正很长的路径以查看问题是否仍在本地建立长路径。即使尝试输出到默认输出而不是文件也无济于事。在这一点上,我坚持这个问题。请帮忙。

1 个答案:

答案 0 :(得分:1)

这是一个许可问题。

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

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

您可以在Google chmodchown上获取有关如何更改权限的说明。 (如果没有关于系统架构的更多细节,我无法帮助你)