【问题标题】:cannot read property 'apply' of undefined gulp无法读取未定义 gulp 的属性“应用”
【发布时间】:2016-12-07 18:46:43
【问题描述】:

我正在尝试使用 ng-factory 生成器来搭建一个新项目以构建 angularjs 组件。使用 yo ng-factory 命令创建项目后,我尝试使用 gulp serve 任务运行它,但发现以下错误:

c:\projects\bywebclient>gulp serve
[11:20:51] Loading C:\projects\bywebclient\gulp_tasks\browsersync.js
[11:20:52] Loading C:\projects\bywebclient\gulp_tasks\karma.js
[11:20:57] Loading C:\projects\bywebclient\gulp_tasks\misc.js
[11:20:57] Loading C:\projects\bywebclient\gulp_tasks\webpack.js
[11:21:07] Using gulpfile c:\projects\bywebclient\gulpfile.js
C:\Users\ATUL KALE\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:129
gulpInst.start.apply(gulpInst, toRun);

^

TypeError:无法读取未定义的属性“应用”
在 C:\Users\ATUL KALE\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:129: 19

在 _combinedTickCallback (internal/process/next_tick.js:67:7)
在 process._tickCallback (internal/process/next_tick.js:98:9)
在 Module.runMain (module.js:577:11)
运行时 (bootstrap_node.js:352:7)
启动时 (bootstrap_node.js:144:9)
在 bootstrap_node.js:467:3

我错过了什么吗?我已经尝试再次运行 npm install

谢谢, 阿图尔甘蓝

【问题讨论】:

    标签: angularjs npm gulp npm-install gulp-sass


    【解决方案1】:

    尝试重新安装 gulp-cli:

    npm install -g gulp-cli
    

    【讨论】:

    • 正如@ofribt 在他的回答中提到的,重新安装后打开新的终端窗口并在那里重试。
    • 我必须在最后添加 --force 才能使其正常工作。非常感谢。
    【解决方案2】:

    像这样升级到 4.0:

    npm install --save-dev github:gulpjs/gulp#4.0 
    

    【讨论】:

      【解决方案3】:

      卸载全局 gulp 安装和本地 gulp-cli 安装。同时保留全局 gulp-cli 和本地 gulp 包。

      npm uninstall -g gulp
      npm uninstall -g gulp-cli
      
      npm install -g gulp-cli
      npm install --save-dev github:gulpjs/gulp#4.0 
      

      【讨论】:

      • 以上代码全局卸载gulp-cli,而你的解释建议在本地卸载。我看到这种不一致是不是弄错了?
      【解决方案4】:

      每次运行时都会出现以下错误

      npm install gulp -g --save
      

      TypeError: 无法读取未定义的属性“应用”

      at /usr/local/lib/node_modules/gulp/bin/gulp.js:129:20
      at _combinedTickCallback (internal/process/next_tick.js:132:7)
      at process._tickDomainCallback (internal/process/next_tick.js:219:9)
      

      我试过了:

      npm i -g gulp-cli

      它对我有用。

      如果我再次运行

      npm install gulp -g --save
      

      上述错误返回。我注意到当我第一次安装 Gulp 时,它保存在我的 package.json 中,但现在不存在了。

      【讨论】:

        【解决方案5】:

        在我的例子中,我有一个自动脚本正在执行 npm install gulp (...) 并且直到 v3.9x 它都很好。

        一段时间后,那个天真的安装会选择 v4.0.0,这会破坏我的 CI。

        将脚本更改为执行npm install gulp@3.9.1 使事情恢复正常。

        【讨论】:

          【解决方案6】:

          我尝试从我的机​​器上卸载gulpgulp-cli(本地和全局),但是在卸载gulp -v 之后,它仍然显示Gulp CLI 3.9.1,即使在新的终端窗口中也是如此。 最后,这些是最终对我有用的步骤(似乎 CLI 只是被硬缓存了):

          1. 导航到您的项目并删除node_modules 文件夹。

          2. 运行以下:

          npm uninstall gulp --global
          npm uninstall gulp-cli --global
          apt-get remove npm
          apt-get remove nodejs
          apt-get install nodejs
          apt-get install npm
          npm install --global gulp-cli
          
          1. 导航到您的项目并运行: npm install

          2. 关闭当前终端,打开新终端并检查是否成功: gulp -v

          应该说CLI version 2.1.0(截至撰写本文时)。

          现在您可以运行 gulp 任务而不会出现该错误 :)

          【讨论】:

            【解决方案7】:
            npm install -g gulp-cli
            

            重要的是:运行该命令后,打开一个新终端,它就会生效。

            【讨论】:

              【解决方案8】:

              重新安装 gulp 和 gulp-cli,以安装最新版本。

              npm 卸载 -g gulp npm 卸载 -g gulp-cli npm install -g gulp-cli npm install -g gulp

              然后,关闭终端并打开新的。

              *此命令不再起作用:npm install --save-dev github:gulpjs/gulp#4.0

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2017-05-21
                • 2020-07-27
                • 2015-09-11
                • 2016-03-04
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多