【问题标题】:How can I resolve issue with "Cannot find module 'gulp-util'"?如何解决“找不到模块'gulp-util'”的问题?
【发布时间】:2016-08-11 18:58:46
【问题描述】:

今天早上我已经花了一个小时查看现有的 SO 答案以及互联网上的其他地方。

当我运行gulp 时,出现以下错误

➜  qwer git:(master) ✗ gulp
module.js:341
    throw err;
    ^

Error: Cannot find module 'gulp-util'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/usr/local/lib/node_modules/gulp/bin/gulp.js:4:13)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)

我已按照建议再次清除node_modulesnpm install;没有骰子。

我已经安装了旧版本的 node/npm 并尝试过,确保删除 gulp 的全局安装。仍然没有运气。 (https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md)

npm rm --global gulp

我可以在远程环境中运行 gulp,它工作得很好,所以这似乎是一个本地配置问题。

➜  qwer git:(master) ✗ node -v
v5.10.1
➜  qwer git:(master) ✗ npm -v
3.8.3

package.json

{
  "name": "qwer",
  "version": "1.0.0",
  "description": "asdlf kjalsdk fjalsdk jfla",
  "main": "config/gulpfile.js",
  "dependencies": {
    "babel-preset-es2015": "^6.6.0",
    "babelify": "^7.2.0",
    "backbone": "^1.3.3",
    "del": "^2.2.0",
    "gulp": "^3.9.1",
    "browserify": "^13.0.0",
    "gulp-concat": "^2.6.0",
    "gulp-rename": "^1.2.2",
    "gulp-sass": "^2.2.0",
    "gulp-sourcemaps": "^1.6.0",
    "gulp-uglify": "^1.5.3",
    "jquery": "^2.2.3",
    "jstify": "^0.14.0",
    "underscore": "^1.8.3",
    "vinyl-buffer": "^1.0.0",
    "moment": "^2.13.0",
    "yargs": "^4.6.0",
    "vinyl-source-stream": "^1.1.0"
  },
  "devDependencies": {
    "browser-sync": "^2.12.3",
    "gulp": "^3.9.1"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git@crystal.github.com:crystalcommerce/pos-frontend.git"
  },
  "author": "John Doe",
  "license": "ISC"
}

gulpfile.js

var gulp = require('gulp');

gulp.task('default', function() {
  // place code for your default task here
});

重现错误的步骤

rm -rf node_modules/
npm install
gulp

【问题讨论】:

标签: node.js gulp


【解决方案1】:

尝试添加npm-shrink-wrap强制锁定npm包json以使用特定的gulp版本,而不管npm全局缓存中有什么,或者你可以尝试使用npm clean cache清理npm缓存文件夹。

【讨论】:

    【解决方案2】:

    当我调用npm rm --global gulp 时,我似乎有一个旧版本的 gulp 并没有被删除。

    which gulp
    ➜ /usr/local/bin/gulp
    
    # remove old version; not sure where this came from; perhaps brew?
    rm /usr/local/bin/gulp
    
    which gulp
    ➜ /Users/davidvezzani/.nvm/versions/node/v5.10.1/bin/gulp
    
    # for good measure
    rm /Users/davidvezzani/.nvm/versions/node/v5.10.1/bin/gulp
    
    npm install --global gulp-cli
    
    which gulp
    ➜ /Users/davidvezzani/.nvm/versions/node/v5.10.1/bin/gulp
    
    gulp
    
    [07:15:22] Using gulpfile ~/reliacode/crystal_commerce/qwer/gulpfile.js
    [07:15:22] Starting 'default'...
    [07:15:22] Finished 'default' after 71 μs
    

    【讨论】:

    • "删除旧版本;不确定这是从哪里来的;也许是 brew?" -- 这就是 NPM 在 OS X 上为我安装 gulp 的地方,当我在全球范围内安装它时。仅供参考
    猜你喜欢
    • 2017-11-07
    • 2014-02-19
    • 2019-04-17
    • 2019-09-12
    • 2021-09-29
    • 2019-10-24
    • 2019-09-10
    • 2022-09-23
    • 1970-01-01
    相关资源
    最近更新 更多