Gulp 产卵Enoint运行吞咽任务和Cordova
我正在尝试自动化准备一台机器的过程,以便开始使用Cordova进行开发,但我在CLI方面有很多问题Gulp 产卵Enoint运行吞咽任务和Cordova,gulp,Gulp,我正在尝试自动化准备一台机器的过程,以便开始使用Cordova进行开发,但我在CLI方面有很多问题 var gulp = require('gulp'), uglify = require('gulp-uglify'), jade = require('gulp-jade'), shell = require('gulp-shell'), coffee = require('gulp-coffee'), runSequence = require('run
var gulp = require('gulp'),
uglify = require('gulp-uglify'),
jade = require('gulp-jade'),
shell = require('gulp-shell'),
coffee = require('gulp-coffee'),
runSequence = require('run-sequence'),
sass = require('gulp-ruby-sass');
gulp.task('build', function () {
gulp.src(['app/**/*.*'])
.pipe(gulp.dest('cordova/www/'));
});
gulp.task('sass', function () {
gulp.src(['app/styles/main.scss'])
.pipe(sass())
.pipe(gulp.dest('app/styles/'));
});
gulp.task('cordova', function () {
return gulp.src('/', {read: false})
.pipe(shell([
'npm install cordova'
]));
});
gulp.task('folder', function () {
return gulp.src('/', {read: false})
.pipe(shell([
'mkdir -m 777 app'
]));
});
gulp.task('project', function () {
return gulp.src('/')
.pipe(shell([
'cordova create . com.rvallespin.app app',
//'cordova platform add ios',
'cordova platform add android'
], {cwd: '/app'}));
});
gulp.task('plugins', function () {
return gulp.src('/')
.pipe(shell([
'cordova plugin add https://github.com/apache/cordova-plugin-statusbar & ' +
'cordova plugin add https://github.com/apache/cordova-plugin-device & ' +
'cordova plugin add https://github.com/apache/cordova-plugin-network-information & ' +
'cordova plugin add https://github.com/apache/cordova-plugin-battery-status &' +
'cordova plugin add https://github.com/apache/cordova-plugin-device-motion &' +
'cordova plugin add https://github.com/apache/cordova-plugin-device-orientation &' +
'cordova plugin add https://github.com/apache/cordova-plugin-geolocation &' +
'cordova plugin add https://github.com/apache/cordova-plugin-camera &' +
'cordova plugin add https://github.com/apache/cordova-plugin-media &' +
'cordova plugin add https://github.com/apache/cordova-plugin-media-capture &' +
'cordova plugin add https://github.com/apache/cordova-plugin-file &' +
'cordova plugin add https://github.com/apache/cordova-plugin-file-transfer &' +
'cordova plugin add https://github.com/apache/cordova-plugin-dialogs &' +
'cordova plugin add https://github.com/apache/cordova-plugin-vibration &' +
'cordova plugin add https://github.com/apache/cordova-plugin-contacts &' +
'cordova plugin add https://github.com/apache/cordova-plugin-globalization &' +
'cordova plugin add https://github.com/apache/cordova-plugin-splashscreen &' +
'cordova plugin add https://github.com/apache/cordova-plugin-inappbrowser &' +
'cordova plugin add https://github.com/apache/cordova-plugin-console'
], {cwd: '/app'}));
});
gulp.task('install', function () {
runSequence('cordova', 'folder', 'project', 'plugins');
});
gulp.task('default', function () {
gulp.watch("app/styles/main.scss", function (event) {
gulp.run('sass');
});
});
当我运行“project”或“plugins”时,gulp总是返回一条错误消息:
插件“gulp shell”消息中出现错误:
spawn Enoint详细信息:
代码:enoint
errno:Enoont
系统调用:繁殖
我做错了什么?
谢谢我也遇到了同样的问题,我已经找到了答案。在我的例子中,
node\u modules
文件夹归root所有,但由于我没有使用root登录,因此我没有足够的权限访问已安装的npm模块。所以我的错误是使用sudo
安装节点模块
我的解决方案:
Shell命令:
sudo rm-r节点\u模块/
npm安装
如果问题仍然存在:
如果您的npm安装抱怨权限不足,您应该修复~/.npm
文件夹的所有权。
在我的例子中,我是这样修复的:
sudo chown-R~/.npm
如果这还不够,这也有帮助:
编辑:
另一个可能更好的解决方案是这样的过程:我注意到您正在根目录文件夹中创建项目:{cwd:'/app'}。考虑将它更改为./app