提问者:小点点

如何解决“找不到模块‘gulp util’”的问题?


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

当我运行walp时,我得到以下错误

➜  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安装的建议;没有机会。

我已经安装了一个旧版本的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

包裹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"
}

格尔普菲尔。js

var gulp = require('gulp');

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

重现错误的步骤

rm -rf node_modules/
npm install
gulp

共2个答案

匿名用户

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

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

匿名用户

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