今天早上我已经花了一个小时查看现有的 SO 答案以及互联网上的其他地方。
\n\n当我运行时gulp,出现以下错误
\xe2\x9e\x9c qwer git:(master) \xe2\x9c\x97 gulp\nmodule.js:341\n throw err;\n ^\n\nError: Cannot find module \'gulp-util\'\n at Function.Module._resolveFilename (module.js:339:15)\n at Function.Module._load (module.js:290:25)\n at Module.require (module.js:367:17)\n at require (internal/module.js:16:19)\n at Object.<anonymous> (/usr/local/lib/node_modules/gulp/bin/gulp.js:4:13)\n at Module._compile (module.js:413:34)\n at Object.Module._extensions..js (module.js:422:10)\n at Module.load (module.js:357:32)\n at Function.Module._load (module.js:314:12)\n at Function.Module.runMain (module.js:447:10)\nRun Code Online (Sandbox Code Playgroud)\n\n我已经按照建议清理了node_modules一遍npm install;没有骰子。
我已经安装了旧版本的node/npm并尝试过,确保删除全局安装的gulp。还是没有运气。(https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md)
\n\nnpm rm --global gulp\nRun Code Online (Sandbox Code Playgroud)\n\n我可以在远程环境上运行 gulp 并且它工作得很好,所以这似乎是本地配置问题。
\n\n\xe2\x9e\x9c qwer git:(master) \xe2\x9c\x97 node -v\nv5.10.1\n\xe2\x9e\x9c qwer git:(master) \xe2\x9c\x97 npm -v\n3.8.3\nRun Code Online (Sandbox Code Playgroud)\n\n包.json
\n\n{\n "name": "qwer",\n "version": "1.0.0",\n "description": "asdlf kjalsdk fjalsdk jfla",\n "main": "config/gulpfile.js",\n "dependencies": {\n "babel-preset-es2015": "^6.6.0",\n "babelify": "^7.2.0",\n "backbone": "^1.3.3",\n "del": "^2.2.0",\n "gulp": "^3.9.1",\n "browserify": "^13.0.0",\n "gulp-concat": "^2.6.0",\n "gulp-rename": "^1.2.2",\n "gulp-sass": "^2.2.0",\n "gulp-sourcemaps": "^1.6.0",\n "gulp-uglify": "^1.5.3",\n "jquery": "^2.2.3",\n "jstify": "^0.14.0",\n "underscore": "^1.8.3",\n "vinyl-buffer": "^1.0.0",\n "moment": "^2.13.0",\n "yargs": "^4.6.0",\n "vinyl-source-stream": "^1.1.0"\n },\n "devDependencies": {\n "browser-sync": "^2.12.3",\n "gulp": "^3.9.1"\n },\n "scripts": {\n "test": "echo \\"Error: no test specified\\" && exit 1"\n },\n "repository": {\n "type": "git",\n "url": "git@crystal.github.com:crystalcommerce/pos-frontend.git"\n },\n "author": "John Doe",\n "license": "ISC"\n}\nRun Code Online (Sandbox Code Playgroud)\n\ngulpfile.js
\n\nvar gulp = require(\'gulp\');\n\ngulp.task(\'default\', function() {\n // place code for your default task here\n});\nRun Code Online (Sandbox Code Playgroud)\n\n重现错误的步骤
\n\nrm -rf node_modules/\nnpm install\ngulp\nRun Code Online (Sandbox Code Playgroud)\n
看来我有一个旧版本的 gulp,当我打电话时它没有被删除npm rm --global gulp。
which gulp\n\xe2\x9e\x9c /usr/local/bin/gulp\n\n# remove old version; not sure where this came from; perhaps brew?\nrm /usr/local/bin/gulp\n\nwhich gulp\n\xe2\x9e\x9c /Users/davidvezzani/.nvm/versions/node/v5.10.1/bin/gulp\n\n# for good measure\nrm /Users/davidvezzani/.nvm/versions/node/v5.10.1/bin/gulp\n\nnpm install --global gulp-cli\n\nwhich gulp\n\xe2\x9e\x9c /Users/davidvezzani/.nvm/versions/node/v5.10.1/bin/gulp\n\ngulp\n\n[07:15:22] Using gulpfile ~/reliacode/crystal_commerce/qwer/gulpfile.js\n[07:15:22] Starting 'default'...\n[07:15:22] Finished 'default' after 71 \xce\xbcs\nRun Code Online (Sandbox Code Playgroud)\n