Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么requirejs优化器需要对我的源文件具有写权限?这能解决吗?_Javascript_Node.js_Requirejs_Clearcase_R.js - Fatal编程技术网

Javascript 为什么requirejs优化器需要对我的源文件具有写权限?这能解决吗?

Javascript 为什么requirejs优化器需要对我的源文件具有写权限?这能解决吗?,javascript,node.js,requirejs,clearcase,r.js,Javascript,Node.js,Requirejs,Clearcase,R.js,我正在优化一个项目,我们已经开始转换为AMD语法,我遇到了一些问题 我们的版本控制工具Clearcase在未签出文件时将文件作为只读文件保留在文件系统中。当我尝试使用node r.js优化项目时,我发现这导致了问题。具体来说,它似乎试图获得对我定义为模块的文件的写访问权,以便在构建文件中进行优化 我的生成文件如下所示: { baseUrl: "../", mainConfigFile: "./config.js", appDir: ".../../build/", dir

我正在优化一个项目,我们已经开始转换为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的人可能没有太多重叠)

如果不解决Node.js方面的问题,您可以尝试看看如果创建这些文件会发生什么

假设您使用的是ClearCase快照视图,您可以在其中控制写入属性。

但是你甚至可以。

你能将传递给
r.js
的实际构建文件剪切粘贴到你的问题中吗?您当前拥有的文件在语法上不正确。@Louis DominiqueDubeau这基本上是同一个文件。我刚换了名字。显然,我不小心删除了逗号。无论如何,构建文件并不是真正的问题。如果对文件有写权限,它就可以正常工作。我刚刚将我的50个模块应用程序的模块设置为只读,运行了
r.js
,但没有出现错误。因此,问题不在于
r.js
或输入文件的权限(即
r.js
没有试图打开其输入文件进行写入),而在于您为
r.js
提供的构建配置。如果没有你正在使用的真正路径,我就不可能找出问题所在。