How to fix: ReferenceError: path is not defined
Recently, when attempting to use a gulp
command in the Terminal app, I saw an error message saying ReferenceError: path is not defined
. In this tutorial, you will learn how to fix the error that leads to this error message.
What causes this error
In my case, the below error appeared when attempting to run the gulp
command inside my app project directory in the Terminal app.
$ gulp start /Users/arthur/app/gulpfile.js:23 path = { ^ ReferenceError: path is not defined at /Users/arthur/app/gulpfile.js:23:14 at Object.\<anonymous\> (/Users/arthur/app/gulpfile.js:111:3) at Module.\_compile (internal/modules/cjs/loader.js:1147:30) at Object.Module.\_extensions..js (internal/modules/cjs/loader.js:1167:10) at Module.load (internal/modules/cjs/loader.js:996:32) at Function.Module.\_load (internal/modules/cjs/loader.js:896:14) at Module.require (internal/modules/cjs/loader.js:1036:19) at require (internal/modules/cjs/helpers.js:72:18) at execute (/usr/local/lib/node_modules/gulp-cli/lib/versioned/^4.0.0/index.js:36:18) at Liftoff.handleArguments (/usr/local/lib/node_modules/gulp-cli/index.js:201:24)
The error message above is self explanatory. It saying that the gulp
cannot access the path
variable (or constant), and this is because path is not defined
. From the /Users/arthur/app/gulpfile.js:23
line of the error message, we know that this happened in the gulpfile.js
file on line 23, and the problem line looks like path = {
.
In my case, this makes sense because I know that I trying new things in the gulpfile.js
file, and before the changes I made in this file, everything was fine; gulp
was running without errors. Therefore, something is wrong with the changes I made.
Here is a snippet from my gulpfile.js
file after the error appeared:
const
// Modules
{ src, dest, series, parallel } = require('gulp'),
{ spawn } = require('child_process'),
fs = require('fs'),
del = require('del'),
gulpif = require('gulp-if');
// Directory locations
path = {
source : './source',
build : './docs'
};
In the snippet above, I define constants through a comma-separated list, specifying the reserved word const
only once, at the beginning of that list of constants. You can see that the path
constant is not missing, it’s there. But the previous constant ends with a semicolon (;
) instead of a comma (,
).
Now we know what caused this error.
How to solve it
Once we know what is causing the gulp
run to fail, we can use it to solve the problem. It is a really easy process. To solve this problem, we need to replace a semicolon (;
) with a comma (,
) in the gulpfile.js
file. Now, step by step guide.
Open the file gulpfile.js
in the code editor you prefer. I use the Atom (atom.io) app developed by GitHub.
In the file gulpfile.js
, scroll down to the line indicated in your error message.
Note! You can find the exact line number in your error message. Look at the path to the
gulpfile.js
file. In my case, the/Users/arthur/app/gulpfile.js:23
line of the error message, tells me that I need the line 23 of thegulpfile.js
file. For more information, scroll up to the “What causes this error” section.
Replace the semicolon (;
) with the comma (,
) at the end of the constant that precedes the constant indicated in your error message.
Example. In my gulpfile.js
file, I need to replace the line gulpif = require('gulp-if');
with gulpif = require('gulp-if'),
. This is how my gulpfile.js
file looks after editing:
Note! The contents of your
gulpfile.js
file may look different.
const
// Modules
{ src, dest, series, parallel } = require('gulp'),
{ spawn } = require('child_process'),
fs = require('fs'),
del = require('del'),
gulpif = require('gulp-if'),
// Directory locations
path = {
source : './source',
build : './docs'
};
Save the changes made to the file gulpfile.js
.
Conclusion
That’s it, you’re done. Now the gulp
should run without the ReferenceError: path is not defined
error. So simple isn’t it?
If you are having trouble fixing this problem with the instructions above, but are being able to solve this problem with any another method please describe it in the comment section below. Thanks!
I hope this article has helped you learn how to fix the ReferenceError: path is not defined
error. If this article has helped you then please leave a comment
Thanks for reading!
Arthur is a designer and full stack software engineer. He is the founder of Space X-Chimp and the blog My Cyber Universe. His personal website can be found at arthurgareginyan.com.