我在我们的私有服务器中使用perforce进行代码签入,因此在生产构建之后(即index.html为只读时),我的gulp任务失败,并出现以下错误。
[INFO] [11:30:19] Error: EPERM: operation not permitted, open 'C:\MyProjectDir\index.html'
签出文件或取消选中只读属性(使用windows框)后,gulp任务将成功完成。有没有办法通过gulp任务更改其权限以避免手动干预?
PS:我用过chmod(777)
Gulp文件(注入发生的结束部分)
var gulp = require('gulp'),
gutil = require('gulp-util'),
uglify = require('gulp-uglify'),
minify = require('gulp-minify-css'),
concatVendor = require('gulp-concat-vendor'),
concatCss = require('gulp-concat-css'),
rev = require('gulp-rev'),
clone = require('gulp-clone'),
inject = require('gulp-inject'),
del = require('del'),
runSequence = require('run-sequence'),
chmod = require('gulp-chmod'),
series = require('stream-series'),
ngAnnotate = require('gulp-ng-annotate'),
rename = require("gulp-rename");
...
gulp.task('index', ['gulp-js-files', 'gulp-css-files'], function() {
var target = gulp.src(mainIndexFile);
return target.pipe(chmod(777)).pipe(inject(series(vendorCss, customCss, vendorJs), { ignorePath: ['MyProjectDir'], addRootSlash: false }))
.pipe(gulp.dest(mainDestination));
});
...
在管理员模式下运行cmd
一个选项是使用gulp exec
删除带有attrib-r
的只读标志,然后在注入数据后(如有必要)使用attrib r
重新设置它。
以下是一个例子:
gulp.task('remove-readonly-attributes', function() {
require("child_process").exec("attrib -r <dir-name>\*.* /s");
});
问题内容: 我的陈述书遇到一些权限问题。 当我登录数据库并执行简单的导出命令时,例如: 我得到回应: 但是,当我简单地写: 该文件被写入目录。我查看了mysql似乎定义读取和写入权限的文件,但我真的不知道如何修改它。 如何授予自己将mysql表导出到我喜欢的任何目录的权限? 问题答案: 问题是目录权限。mysqld不以current_user身份运行。将mysqld用户添加到对目标目录具有写权限的
问题内容: 我正在尝试创建一个仅用户可读且可写的文件()。 这样做是唯一的方法吗? 理想情况下,我希望能够使用关键字,以便我可以自动关闭对象。有没有更好的方法来做我在上面做的事情? 问题答案: 有什么问题?即使已使用打开文件,也将关闭文件。
问题内容: 我一直在阅读的API文档和,但是当他们应该使用它并不完全清楚。 以下方法之间有什么区别? 问题答案: 是由CDI接口扩展的JSR-330接口。 注入时,如果没有匹配的bean或一个以上的匹配bean,应用程序将在启动期间引发异常。 注入,Bean解析委托给应用程序:您可以遍历所有候选Bean和想要或调用的候选Bean,并在没有匹配的Bean时决定要做什么。 对于具有作用域的bean ,
我有一个由后台服务持续写入的日志文件。到目前为止,用户需要能够下载该文件。当我返回 MVC 时,由于内容长度不匹配,我得到一个 InvalidOperationException,大概是因为在提供文件时某些内容已写入文件。有一个文件已提供,它基本上没问题,但它通常有一个不完整的最后一行。 后台服务本质上是这样做的: 以下是控制器动作的一些变化(都有相同的结果): 这是我尝试上述任一方法时遇到的异常
编辑:我使用beam.io.writeTobigQuery并打开了sink实验选项。我实际上已经打开了它,但我的问题是,我试图从str()包装的两个变量(dataset+table)“构建”完整的表引用。这是将整个值提供程序参数数据作为一个字符串,而不是调用get()方法只获取值。 我试图生成一个数据流模板,然后从GCP云函数调用。(作为参考,我的数据流作业应该读取一个文件,其中有一堆文件名,然后
问题内容: 我能够使用filezilla成功连接到Amazon ec2实例。我使用的用户名是ec2-user。因此,当我尝试将应用程序战争转移到tomcat时,它说 我试图使用filezilla更改权限,但不允许这样做。我知道没有写权限,但是如何更改它。 我是linux的新手。请帮我。 问题答案: 在 EC2用户 没有在/ var / lib中/ tomcat6中/ webapps /目录写权限的