我在设置项目开发环境的项目文件夹中运行gulp时遇到问题。我在运行High Sierra的Mac上。我用Homebrew来安装node,npm和git。 Node和NPM均已全局安装。 Gulp既可以全局安装,也可以本地安装到我的项目文件夹中。
gulp -v
CLI version 3.9.1
Local version 3.9.1
node -v
v11.0.0
npm -v
6.4.1
在更改目录位置之前,我在全局安装Gulp时存在权限问题:
npm config set prefix /usr/local
我将程序包依赖项安装到项目文件夹中,这是我的package.json文件:
{
"name": "ewj",
"version": "0.0.1",
"description": "EWJ Ireland",
"main": "index.php",
"author": "D Nic",
"license": "GPL-3.0",
"devDependencies": {
"autoprefixer": "^9.3.1",
"browser-sync": "^2.26.3",
"gulp": "^3.9.1",
"gulp-concat": "^2.6.1",
"gulp-jshint": "2.1.0",
"gulp-newer": "^1.4.0",
"gulp-postcss": "^8.0.0",
"gulp-sass": "^4.0.2",
"gulp-sourcemaps": "^2.6.4",
"gulp-uglify": "^3.0.1",
"jshint": "^2.9.6"
}
}
在iTerm2中验证:
/Applications/MAMP/htdocs/epicworldjobs/wp-content/themes/dev-project
├── autoprefixer@9.3.1
├── browser-sync@2.26.3
├── gulp@3.9.1
├── gulp-concat@2.6.1
├── gulp-jshint@2.1.0
├── gulp-newer@1.4.0
├── gulp-postcss@8.0.0
├── gulp-sass@4.0.2
├── gulp-sourcemaps@2.6.4
├── gulp-uglify@3.0.1
└── jshint@2.9.6
即使我没有骨子里的gulpfile.js:
var gulp = require('gulp');
gulp.task('default', function() {
// place code for your default task here
});
当我尝试在项目文件或任何地方运行gulp时收到此错误:
/Applications/MAMP/htdocs/epicworldjobs/wp-content/themes/dev-project/gulpfile.js:1
(function (exports, require, module, __filename, __dirname) { vvar gulp = require('gulp');
^^^^
SyntaxError: Unexpected identifier
at new Script (vm.js:80:7)
at createScript (vm.js:264:10)
at Object.runInThisContext (vm.js:316:10)
at Module._compile (internal/modules/cjs/loader.js:670:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10)
at Module.load (internal/modules/cjs/loader.js:605:32)
at tryModuleLoad (internal/modules/cjs/loader.js:544:12)
at Function.Module._load (internal/modules/cjs/loader.js:536:3)
at Module.require (internal/modules/cjs/loader.js:643:17)
at require (internal/modules/cjs/helpers.js:22:18)
这些文件显然与Node有关。我已经多次卸载了Node并重新安装没有任何更改。我为我的一生似乎无法补救这个问题。如果有人为我提供解决方案,将不胜感激,因为我花了太多时间在此上。
答案 0 :(得分:0)
您机器上的gulpfile.js
(而不是您在此处发布的那个)有一个错字:它包含vvar gulp
而不是var gulp
。
答案 1 :(得分:0)
更正了“ vvar”错字(非常感谢Silvenon)之后,我还有另一个问题。
Node Sass does not yet support your current environment
我能够找到一个可以重建该命令并解决该问题的命令:
npm rebuild node-sass