2

我正在优化一个我们已经开始转换为 AMD 语法的项目,但我遇到了一些问题。

我们的版本控制工具 Clearcase 会在文件未签出时将文件在文件系统中保留为只读。当我尝试使用node r.js来优化项目时,我发现这导致了问题。具体来说,它似乎试图获得对我在构建文件中定义为要优化的模块的文件的写访问权限。

我的构建文件如下所示:

{
   baseUrl: "../",
   mainConfigFile: "./config.js",
   appDir: ".../../build/",
   dir: "../",
   modules: [{
      name:"file1"
   }]
}

当我签入 file1.js 时,我看到一条错误消息

Error: EACCES permission denied '.../file1.js' 
at Object.fs.openSync (fs.js:427:18)

当我检查它并获得写入权限时,它可以正常工作。我已经对此进行了测试,并且似乎始终需要写权限才能工作。

我不明白这一点,因为这些文件根本不应该被写入,它们只需要被读取。有解决方法吗?我做错了什么吗?

我也很好奇这种限制是否有原因(如果这不仅仅是我的错误),或者它只是被忽略的东西,对大多数人来说不是问题。我一直无法找到其他遇到此问题的人,所以我可能处于相对独特的情况(诚然,使用 clearcase 和 Node.js 的人可能没有很大的重叠)

4

1 回答 1

0

如果不解决 node.js 方面的问题,您可以尝试看看如果您让这些文件被劫持会发生什么。

这假设您使用的是 ClearCase 快照视图,您可以在其中控制写入属性。
但是您甚至可以使用动态视图来做到这一点

于 2013-11-11T07:10:22.657 回答