【问题标题】:Spawn ENOENT running Gulp task and CordovaSpawn ENOENT 运行 Gulp 任务和 Cordova
【发布时间】:2014-09-04 12:40:10
【问题描述】:

我正在尝试自动化准备机器以开始使用 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-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');
    });
});

当我运行“项目”或“插件”时,gulp 总是向我返回一条错误消息:

插件“gulp-shell”消息中的错误: spawn ENOENT 详细信息: 代码:ENOENT 错误号:ENOENT 系统调用:spawn

我在这里做错了什么? 谢谢

【问题讨论】:

  • 我注意到您正在仅 ROOT 文件夹中创建项目:{cwd: '/app'}。考虑将其更改为 ./app

标签: gulp


【解决方案1】:

我遇到了同样的问题,我已经能够找到它。在我的情况下,node_modules 文件夹归 root 所有,但由于我没有使用 root 登录,因此我没有足够的权限来访问已安装的 npm 模块。所以我的错是使用sudo 安装节点模块。

我的解决方案: 外壳命令: sudo rm -r node_modules/ npm install

如果问题仍然存在: 如果您的 npm 安装抱怨权限不足,您应该修复 ~/.npm 文件夹的所有权。 就我而言,我是这样修复的:

sudo chown -R ~/.npm

如果这还不够,这也可以提供帮助:https://stackoverflow.com/a/27955349/1646019

编辑: 另一个可能更好的解决方案可能是这个过程:npm / yeoman install generator-angular without sudo

【讨论】:

    猜你喜欢
    • 2015-11-20
    • 1970-01-01
    • 2016-07-08
    • 2018-05-07
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 2017-03-13
    • 2016-02-12
    相关资源
    最近更新 更多