手柄编译操作不允许

我试图在AppHarbor上进行Handlebars预编译工作。 我们遵循这里的说明,这适用于除AppHarbor之外的所有构build机器。 这里是错误日志:

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版本。 他们都没有工作。 尝试在本地复制真正的长path,以查看问题是否仍然以长path在本地生成。 即使尝试输出到默认输出,而不是一个文件无济于事。 在这一点上,我坚持在这个问题上。 请帮忙。

这是一个权限问题。

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

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

你可以谷歌chmodchown的如何更改权限的说明。 (如果没有你的系统体系结构的更多细节,我无法进一步帮助你)

Interesting Posts