1

在我的 Release post-build 事件中,我运行 node.exe 以缩小我的 javascript 文件并将其与 RequireJS 组合。这会在我的网站文件夹中创建新文件夹和缩小文件,然后在禁用调试时在我的 HTML 中引用它们。

node.exe 包含在我的源代码控制中,并且在我的本地计算机上构建它可以正常工作。

当这是在 AppHarbor 上构建时,我在运行后立即收到以下错误

"node.exe <<PATH TO r.js>> -o <<PATH TO app.build.js>>"

fs.js:520
    return binding.lstat(pathModule._makeLong(path));
                   ^
EXEC : error : EPERM, operation not permitted 'D:\temp'

这是因为我无权在 AppHarbor 上创建文件夹/文件吗?我将如何解决这个问题并构建缩小文件?

我不想将缩小文件预先内置到源代码管理中。

4

2 回答 2

1

来自 AppHarbor 常见问题解答:http: //support.appharbor.com/kb/getting-started/frequently-asked-questions

我的应用程序无法写入文件 默认情况下,部署在 AppHarbor 上的应用程序只能写入 App_Data 文件夹。您可以启用对整个应用程序目录应用程序设置的写访问权限。请注意,更改(对 App_Data 和应用程序目录的其余部分)不会在部署之间持久化,您应该只将其用于缓存和其他临时用途。

希望这可以帮助 ;)

于 2012-08-12T10:07:30.527 回答
0

解决此问题的最佳方法可能是在本地复制 AppHarbor 构建并确保一切都按预期进行。这就是你想要运行的:msbuild solution.sln /p:Configuration=Release /property:OutDir=C:\temp. 常见问题解答中还有更多内容:http: //support.appharbor.com/kb/getting-started/frequently-asked-questions

于 2012-08-12T23:42:50.810 回答