1
我試圖在AppHarbor上獲得Handlebars預編譯工作。我們遵循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版本。它們都不起作用。試圖在本地複製真正長的路徑,以查看問題是否仍然在本地生成長路徑。即使嘗試輸出到默認輸出而不是文件無濟於事。在這一點上,我堅持在這個問題上。請幫忙。
AppHarbor在Windows上運行。它似乎沒有讀或寫權限,因爲在我的構建過程中,我可以讀取和寫入沒有nodejs的路徑。我也嘗試過運行'node handlebars'而不給任何參數,這樣它只顯示幫助,但我仍然得到相同的錯誤。把手模塊已簽入並且路徑正確,否則我會得到'找不到模塊' – orad
對不起,我通過提供Unix命令而忽略了它。儘管使用Windows並不意味着您的權限不會有錯誤配置(這仍然是您的問題)。在使用IIS或Azure時,權限問題尤其突出。因此,請確保與您的構建過程相關聯的用戶具有對目標目錄的寫入權限。 –
我的問題看起來像[這裏]提到的(https://github.com/joyent/node/issues/3977),但我沒有任何符號鏈接。 – orad