[Music]
hey what's going on guys welcome to
another crash course so I decided to do
a crash course on NPM or node package
manager for a feud reasons one because
there's a lot of front-end developers
subscribed my channel that I think are a
little intimidated by the command-line
and by package managers and I want to
show them how easy it is to install
remove and update packages and then - I
think there's a lot of people that have
been using NPM for a while they follow
along with my videos and so on
to install packages but may not know for
instance how to find where global
packages are stored or the difference
between dev dependencies and regular
dependencies or how to list out their
packages things like that just really
helpful tasks that they could be
utilizing so in this crash course we're
gonna learn all about the node package
manager alright so before we get started
let's talk a little bit about what NPM
actually is so as I said it stands for
node package manager and if you have any
experience with Ruby on Rails it's
similar to Ruby gems or if you're a
Python developer it's similar to PIP
okay so it's basically JavaScript
package manager it's installed with
nodejs but don't let that fool you into
thinking that you need to have
experience with the node.js runtime or
node applications to be able to use NPM
alright you could even use NPM just for
you know to install bootstrap or
foundation or some front-end framework
so it's essentially just a JavaScript
package manager all right no node.js
skills are needed to use it
now when I say packages or modules I
mean the same thing they're used
interchangeably and modules are
basically just JavaScript libraries okay
so you can install bootstrap as a
package jQuery lodash just about every
popular library or framework or script
that's available is available with NPM
alright and this makes it very easy to
share and reuse code alright so here are
some of the things that you'll learn in
this little crash course so you're gonna
learn how to install remove up
date and list packages or modules will
look in depth at the package.json file
which is an extremely important file
when it comes to using NPM and node
applications we'll talk about local and
global packages dependencies dev
dependencies and the difference all the
end not all but most all the important
NPM commands and shortcuts will talk a
little bit about versioning and also NPM
scripts all right so that's what we'll
be doing in this crash course and
whether you've been using NPM for years
or you've never touched it I think
you'll benefit from this video so let's
go ahead and get started all right so if
you want to use NPM you do have to have
no js' installed it comes with no js' so
if you don't have it installed already
just go to node.js org go ahead and
download it if you're on Windows or Mac
it's a simple installer if you're on
linux just use whatever package manager
that that your distro uses all right now
there's one other site I want to show
you and that's NPM J Escom this is
basically the repository for NPM modules
so if we want to search for something
like let's say Express which is a web
framework and we click on Express you'll
see it'll take us to that documentation
page which resembles the github page it
shows you how to install it gives you
some examples some documentation it even
has the github link over here if you
click that and that's basically you can
see it's basically the same thing
alright so if you want to check out some
some modules I think they list like the
most popular ones and things like that
but you can check that site and look
around if you want but let's go ahead
and get started so what I'm gonna do is
I'm gonna create a new folder on my
desktop and I'm just gonna call this NPM
app ok now we're not focusing on what
we're building with this application
it's I just want to give you basically
just an overview of how to use NPM
alright so I'm gonna open this with my
text editor I'm using Visual Studio code
so I'm gonna say open with code okay you
can see we have it over here on the left
and I'm also gonna open it I'm gonna
open it with get bash okay which is the
terminal program that I'm using so I'm
gonna say get bash here
and we're gonna just snap this over to
the side and we'll put Visual Studio on
this side and let's make this bigger
alright now there is an integrated
terminal with Visual Studio code but I
want it over here and I want it to be
bigger so I'm not going to use that the
integrated terminal I can make this a
little skinnier okay so let's get into
some commands and then we're gonna talk
about the package.json file and we'll go
from there
now I realize that you may be on a
different environment you may be on a
Mac or Linux you may be using a
different text editor terminal and the
only thing that you need to do make sure
of is that you have your folder open
over here
and you have your your in the same
folder in your terminal or command line
all right so I'm every command that I
write in this crash course I'm gonna
link a text file to in the description
so that you'll have all of those
commands all right so first thing we're
gonna do is look at the version of NPM
we can do that with NPM - V and you'll
see that I'm using version 5.3 point
zero five point four is released but I
was having some issues with permissions
on Windows so I decided to roll back to
five point three all right so you can
also check it with NPM - - version
usually with these flags you'll have a
long and short version okay the short
will will be just a letter and you use a
single - the long will be the full word
and you'll have you use the double - so
for example - G and - - global would be
another one alright now if we were to
just type in NPM what that does is it
brings up the help page if I type in NPM
help it'll do the same thing and it just
gives us a list of all the different
commands okay so you can see we have an
it install uninstall all the commands
that are available with NPM now we're
definitely not going to go through all
of these in fact a lot of these are
related to actually publishing your own
modules on the NPM repository so we're
not going to get into those but we will
go over the basics and the fundamentals
all right so let's clear this out if
you're using git bash you can do ctrl L
and that'll just clear everything out
so next thing I want to do is talk a
little bit about the package.json file
all right now the package.json file is
probably the most important file in the
whole nodejs JavaScript world
it's a manifest file that has all of
your application info like its name its
version author etc but that's not the
most important part the most important
thing is that it holds all of your
applications dependencies and what I
mean by dependency is the modules that
it needs to work so if you are if your
application runs on Express then you
need to define in this file that it uses
Express ok you'll want it in listed in
the package jason so that if you deploy
your app or if you move it somewhere it
knows that it needs to use Express and
not only does it list the name of the
dependencies but also the specific
versions that it uses ok because if it
has the wrong version then excuse me
things may break ok you can also create
scripts in your package JSON file called
NPM scripts and I'll get into that later
now you could manually create this file
but that would be kind of a waste of
time because we have a very simple
command called npm init which will
actually create the file for us alright
so let's get back to our terminal and
let's run NPM in it alright so back in
get bash or whatever you're using for
your terminal let's go ahead and say NPM
in it now before you run it make sure
that you're in your actual application
folder ok I called mine NPM app so make
sure you're in that and then we're gonna
run it and basically it's going to take
us through and it's gonna ask us some
questions so the default answer is going
to be in these parentheses and if you're
happy with that answer then you can just
click enter so NPM app is good but if we
wanted to we could name it something
else but that's good so I'm just gonna
hit enter version it's gonna be 1.0.0
that's good and I'm gonna go through the
the semantic versioning schema later as
well description so if you wanted to put
something here we'll just say a simple
sample app entry point this is basically
the main javascript file sometimes
you'll see app KS or
server dot Jas will just keep the
default of index J s test commands we
don't need to worry about that we don't
have a git repository keywords you can
put specific keywords if you want author
you can put your name or skip it
whatever license
the default is ISC I usually use MIT and
it's gonna ask if everything is ok and
then you just click enter and now if you
look over in our file structure we have
a package dot JSON file and it has all
the stuff that we just answered now
we're going to stick to this NPM init
command for a few minutes I want to talk
about it a little more so what I'm gonna
do is I'm gonna just delete the package
JSON file that was just created and I'm
gonna show you how we can clear this out
I'm gonna show you how we can run NPM on
it without having to go through all
those questions so do that we can say
NPM in it and we can either do - Y or we
can do - - yes and what that's gonna do
is it's just going to accept all of
those answers for us okay it's going to
accept the defaults so let's run it and
you'll see that we didn't have to answer
any questions and it just created the
package Jason
alright now you might be asking well you
know what if I want to add my name or
change the license or something like
that we can actually change the defaults
for NPM for our package JSON file all
right so let me show you how to do that
so I'm going to just go over here and
clear this out and we're gonna run NPM
config set ok and then we're going to
decide what we want to set so I want to
change the author name to be my name by
default so to do that we're gonna say
set and NIT - author - name and then
we're gonna put inside quotes here
whatever you want ok so I'm just gonna
put my own name and I'm gonna hit enter
alright so it doesn't give us any
response or anything back but it does in
fact change the default for for the
author all right let's say we want to
change the license to be MIT so we can
say NPM now again you can say config set
but when you're setting you actually
don't even need to
include the word config you can just say
npm set and then we'll say in it -
license and we'll set that so we'll set
that to MIT and we'll run that so now
again let's go ahead and say NPM and NIT
let's first delete this package JSON
file okay and then we're gonna run NPM
in it and I'm just gonna do a dash Y
here to accept all the defaults and
let's click enter all right and now if
we look at our package dot Jason you'll
see that my name is there for the author
and we have MIT for the license okay so
we change the defaults for those options
now if you ever want to check what there
is for a default from your command line
you can do that as well
so we can do that with NPM get and let's
say we wanted to check the author so we
can say NPM yet and knit - author - name
and you'll see we get Brad traversée
okay and I'm I'm omitting the config you
can also do config get and that'll get
it as well so what if we want to remove
defaults okay so basically just you know
go back to what it was in the beginning
so for that we can say NPM config delete
and we're gonna say let's do delete and
knit - author - name okay and then we'll
do the same thing for the license
so we'll say NPM config delete init
license and let's go ahead and delete
our package JSON file and let's run NPM
and knit - why and check it out again
and now you'll see that the license is
back to the default of is C and then
author is blank alright so that's how
you can set defaults check them and
delete them so we're going to clear that
out and now we're going to install a
module so the module I'm going to
install is called load
and I'm sure a lot of you know what that
is it's basically a JavaScript library
that gives you a bunch of utility
functions that I can do things like sort
arrays loop through arrays set timeouts
and delays just all different things to
do with JavaScript and it makes it a lot
easier than to just write it out with
vanilla JavaScript so we're gonna
install that so we're gonna go over here
and say npm install lodash now there's
one very important flag that we need
here and that's - - save and what that
does is it saves it to our package JSON
as a dependency okay so that that's
basically the most important part of
this file and if we don't use - - save
it will get installed it'll create a
node modules folder and install it but
it won't get added to this file so we
want to want to make sure that we have
that flag so let's go ahead and run that
and what it did is it did two things it
first of all added this dependencies
object and it added load - and it also
has the version I'm gonna go over this
in a little bit and what this this
symbol here means and all that and then
it also created a node modules folder
and it put the lodash module inside
there alright so now we have lodash
installed so let's go ahead and create
whoops and want to close that let's
create our our entry point which is
going to be this index dot JSP okay so
in the root we'll say new file index dot
j s and what i'm gonna do here is just
basically create a very very simple
application that's just gonna loop
through an array and output it into the
console and the contents of this
application and what it does does not
matter at all it's just an example so
you can see how modules work so we're
gonna create a variable I'm going to
just call it an underscore that's the
convention for low - low - meaning an
underscore and we're gonna set that to
require okay so whenever you install a
module and you want to use it inside
your application you just want to set a
variable and set it to require and then
whatever the name is so in this case
hello - all right so now what I'm gonna
do is just create a simple variable
called numbers okay we'll just set this
to just some random numbers all right so
we have some numbers now we want to loop
through it and I'm gonna do that using
the each function that's available with
a low - so we can say underscore dot
each and I could have called this
anything I could have called this LD and
then said LD dot each I could have did
that but the convention is to use an
actual underscore so each is gonna take
in the actual array so numbers and then
it's also going to take a function
alright and then this function here is
gonna take in an iterator we're just
going to call it number and then also an
index okay which will be just it'll
start at 0 and then each iteration it'll
go 1 2 3 and so on but all we want to do
here is console.log the number ok and
that's it that's our application so we
can run this in our console by just
saying node and then the name of the
file which is index dot JSON Dex and
there we go so it outputs all of the
numbers in the array so you can pretend
that this is some big application it
doesn't really matter as far as what we
are using it for we're just using it to
talk about modules and NPM alright now I
want to give you an example of why it's
important to use the save flag and add
it to your package jason all right so
let's say that we're happy with this
application we want to we want to push
it to a git repository for other people
to grab it and use it now when you
pushed or a git repository or you you
move your file somewhere you don't want
to include the node modules folder
because this is just this is just a
third party module and it's just you
don't want to you know clog up your
application with I mean you could have a
ton of stuff in here
so you just want to list them in your
package.json file and then you'll just
take your you know your app files and
then the package.json file you'll leave
the node modules okay a lot of times
you'll create a git ignore file and
you'll add node modules to it so it
knows not to push that up to the
repository all right so let's say
someone takes it from your repository
they clone it or they pull it down or
whatever we'll just call this we'll say
NP we'll just call it my app all right
so we're gonna go ahead and we're gonna
take our index J s and our package dot
jason we don't want the node modules and
we're gonna paste that over here and
then I'm gonna open up another terminal
in my app and the new the new
application that we just pulled down so
let's open up a git bash and all we have
to do now if we try to run it as is if
we say node index we're gonna get can't
find modulo - because we have no node
modules folder with low - in it so what
we have to do is just run npm install ok
nothing else just npm install and what
that does is it looks at the
package.json dependencies and it
installs anything that's inside of that
okay so let's run that remember this is
the second this is the my app this isn't
our initial application ok so it says
added one package and let's take a look
at my app and now there's a node modules
folder with LowE - ok so now if we go
back and we say node index our
application works ok now let's do the
same thing okay we're gonna delete
everything in the second folder in my
app and let's go into our original app
and Visual Studio code and just remove
the dependencies right here ok let's say
we just did npm install lo - without the
save and then we'll take our two files
again bring them over ok and then we'll
open up get bash in the second one
and we'll say npm install' and you see
that it doesn't say any packages have
been installed because it doesn't see
any there's nothing in dependencies so
if we now try to run node index it can't
find low - because it was never
installed so that's why it's very
important to make sure that you save
your dependencies all right I know that
was kind of a side tangent but I just
wanted to show you why that's so
important so let's go ahead and put that
back and save all right now you also
have something called dev dependencies
and you want to solve something as a dev
dependency if it's only gonna be used
for development okay you're not going to
need it in production and one one
example that I can think of for this
would be like gulp which is a task
runner used to do things like minify
your JavaScript compiled sass files
things that you do in development so
let's go ahead and install a dev
dependency I'm gonna clear this out I'm
gonna say npm install and i'm going to
install gulp and then also gulp has a
bunch of different plugins i'm going to
install the gulp - sass plugin alright
because you can do this you can install
more than one module with one command
but now at the end i'm gonna say - -
save - dev ok and by the way you can put
this at the end or you can put it in the
beginning like this - - save or - - save
- dev you can do it like that as well
but let's go ahead and run that and
that's going to stall both of these
alright so notice that it didn't get
these two modules they didn't get put in
dependencies they got put in their own
object called dev dependencies okay and
then we have gulp and gulp sass and they
did get added to the node modules if I
reload this now also notice that there
is now a ton of in this node
modules folder the reason for that is
because gulp has a ton of its own
dependencies so the node modules folder
isn't only going to be your dependencies
it's not going to be just this stuff
it's gonna be any dependencies that any
of these have so this gets huge and you
can see why you don't want to package
your application with this folder okay
because it gets humongous depending on
how big your application is and how much
you know development tools you have
running and stuff like that ok now with
dev dependencies I'm just gonna kind of
do the same thing here and create a new
folder called my app and I'm gonna bring
over these two files and then let's open
up my app with git bash or whatever
terminal you're using and if we say npm
install it's going to install all of our
regular dependencies plus the dev
dependencies okay so both of those but
if we want to apply - - production if we
applied this flag what it's gonna do is
it's only going to install the regular
dependencies you can see added one
package and if we go into my app and
let's take a look at we'll just look in
node modules no gulp ok no gulp or any
of the other dependencies if we were to
just run let's actually delete the node
modules and we'll run it without the - -
production
and you can already see that it's
different it's it's adding gulp it's
adding all of those other dependencies
and you may get warnings and stuff if
some of the other dependencies are a
little you know out-of-date or something
if something is deprecated or whatever
and now if we look in there we have all
that stuff okay so that's one of the
differences between dev dependencies is
you can add that production flag and
it's not gonna it's not gonna install
that stuff all right all right so let's
get back to Visual Studio code and now
we're gonna go over uninstalling or
removing dependencies so let's clear
this out all right when I say
dependencies modules dependencies
packages all the same thing so let's say
that we don't want to use these this
gulp SAS or gulp anymore so all we have
to do is say NPM uninstall gulp our
let's do let's do gulp SAS and since
it's a dev dependency we also want to
include that flag again all right
because that's going to remove it from
here as well as delete it so let's go
ahead and run that all right so now you
can see that that's gone it's also been
deleted so there's also some aliases for
uninstall so let's remove listen let's
get rid of gulp now and we're gonna use
removed ok so we can use uninstall or
remove you can also use just RM or un
tell any of those they're all going to
do the same thing so let's say remove
gulp and let's say - - save - dev and
that removes gulp all right now you can
also install certain versions of modules
so what I'm gonna do is I'm actually
going to remove lo - for a second I'm
gonna say NPM let's use RM this time and
we'll say lo - it's a regular dependency
so I'm going to say - - save so now
that's removed if we look in node
modules and we just reload this you'll
see that there's nothing
in there except just the dot bin so
let's say that we want to install an
earlier version I think the latest
version was one second we should have
looked before I had installed it but the
latest version is four point seventeen
point four so let's say we want to
install four point seventeen point three
what we can do is we can say npm install
lodash and we can do at four point 17.3
- - save and there we go so now you can
see that we have four point seventeen
point three all right so let's say that
we want to update to the latest version
we could simply go NPM update lo - and
there we go you can see that the three
change to a four ok so it's as easy as
that to update it's as easy as that to
install remove update you know it's
that's very easy very simple commands
like I said I'm going to attach a text
file it's gonna have all this stuff for
you you guys can put it somewhere and
you can kind of keep it as like a little
cheat sheet all right so let's stop for
a second and let's talk about these
version numbers now when we install a
package or a module when we look inside
the package Jason at the version numbers
they're always in this this format so we
have three three numbers separated by
dots in between so basically each of
these has a meaning so this last one
here this is the patch version alright
so what that means is that this is when
when there's some kind of bug when
there's something wrong and they fix it
or a couple bugs and they fix them
they're gonna increase this okay so this
number gets increased now this isn't
going to break anything on your on your
in your application okay if you upgrade
to the next patch version it's not going
to break anything it's gonna fix you
know fix some issues at least if the
application is created by good
developers all right so that's that's
called the
Hach version next we have the minor
version okay which is the middle one so
for the minor version they may add some
new features okay so maybe there's some
new features to the application but it's
not gonna break your application okay
your syntax should be safe okay so you
should be you should be able to upgrade
that version without having to have any
worries now the major version which is
this number
this applies breaking changes okay so if
you go if you have your application and
you upgrade to let's say let's say from
Express version 3 dot whatever to
version 4 dot whatever your application
is probably going to break and you're
gonna have to go in you're gonna have to
look at the new documentation and then
upgrade your application you're gonna
have to upgrade your syntax to match the
new version so that's what these three
numbers are so let's go back into Visual
Studio code and we're going to talk
about the little symbols all right so
let's take a look at our package Jason
and let's look at our lodash dependency
and we have our version number but
before that we have this caret symbol so
what this signifies is that when we when
we go and we move this or we push it to
a repo and someone clones it and they
run npm install it's going to install
the latest the latest minor version okay
so if there's been an update and there's
now lo - four dot 18.0 or something like
that and they run npm install that's
what's going to get installed is that
latest minor version all right now if
Flo - has actually changed to five as
the major version it will not install
five okay it's not going to install the
latest major version even if there's
been an update it'll stick to four it'll
just be the latest version of four okay
the latest minor version now if we were
to put a tilde here like that what
that's going to do is it's gonna it's
gonna say to keep this minor version and
only update the patch version okay so go
to the latest patch version okay now if
you take this off completely like that
it
is going to install this exact version
no matter what even if there's a new
patch version it'll always stick to this
exact version now if you want to just
completely replace this with an asterisk
like that what that says is install the
absolute latest version so even if
there's a low - 5 then go ahead and
install that and that's usually not a
good idea because like I said the major
version there's usually breaking changes
and if you do this and they pull down
your application and they do NPM install
then there there may be some issues and
it may not even run ok so that's why
when you do NPM install low - the
default is to just keep the minor
version to update now when this could
get a little tricky is when you're
working with alpha versions of
applications alphas and betas and those
of you that have taken my bootstrap 4
course on udemy know that I had some
real issues with that so what I had to
do is go back and when we built the
starter pack I had to have you guys
remove this so it installed the exact
version ok so it can get a little tricky
and it can get a little aggravating
especially if you're creating courses
like like I did but just know that
that's what these little symbols mean
all right hopefully I explained that all
right so let's go ahead and just make
sure that this is saved all right so
next thing I want to move to is global
modules because up to this point we've
only installed local modules meaning
that they're just going in the node
modules folder
let me just reload that all right so a
good example of a global module would be
something like node Mon node Mon is a
module that can continuously watch your
applications so that you don't have to
keep restarting it every time you edit
it so every time you save it'll it'll
it'll watch it it'll restart it and
that's something that I like to install
globally most of the time so let's go
ahead and do that let's go over here and
let's say npm install and we're gonna
add the - g flag for global and then
we're gonna say node mon
all right and since we is global it's
not going to go inside of our node
modules folder it's not going to go
inside of our package Jason it's being
installed on our actual machine now if
you want to know where this is being
installed there's actually a command
that can show you where your global
modules go and that's NPM root - G and
you can see that mine on Windows it's
going to go to your users folder AppData
roaming and then node modules so let's
actually check that out so we'll go to
let's see I want to go to our users
Brad ants go to app data or is it you'll
have to show hidden files as well and
then let's see
roaming NPM and there it is node 1 so
anything you install globally is gonna
show up here ok or whatever this folder
is ok if you're on a Mac or Linux
obviously it's gonna be a different type
of location now since we installed node
1 we can we can run it from anywhere ok
but generally you want to run it inside
of an application directory so let's see
what happens if we run it ok so what it
did is it ran our application and it's
continuously watching it so if we go
over to index J s and we just change
something like let's change this to a 31
and we'll save it watches it and then it
reloads it and runs it again and this is
great if you're working with like
Express and you're working with a web
server so that every change you make you
don't have to go and restart your server
you can just run node Mon and we'll
watch it and then you can just go and
you know reload your browser and your
application will upload alright I'll
reload I should say another good module
for installing globally is is like a
server type module I like to use live
server so I'm just gonna stop the node
Mon with control C and let's go ahead
and say NPM install live -
server - G and then what that does is
it'll allow you to run whatever
directory you're in on your localhost
and it'll load it up in your browser all
right so let's go ahead and run a live
server and it just opens it up I don't
have any index.html file in my folder if
I did it would load in fact I guess I
can do that real quick just to show you
we say index dot HTML and we'll just put
an h1 here and save and there we go all
right so it gives us this little server
which is nice and we can go we can stop
that with ctrl C alright now if you want
to remove a global module so let's see
if we go to back to that NPM folder
you'll see that now I have live server
there if you want to remove this you do
it the same way we can do NPM remove or
uninstall just make sure you add the - G
flag and then let's remove node lawn and
then that should go away okay so you can
see that node lawn has now disappeared
all right so let's see what else I know
this is getting long with them trying to
cover as much as I can if you want to
list the packages in your project you
can use lists so if we say NPM list
you'll see that we just have low - now
I'm actually going to install gulp again
just so I can show you something so when
I say NPM install gulp and I'll just add
it as a regular dependency
okay so now if I say npm list you'll see
that it's gonna list everything okay
including all of the dependencies of
gulp so let's say we just want to list
the top-level what we can do is we can
say npm list and we can add the depth
flag so - - depth and we can set that to
zero and then you can see it's only
going to show us gulp and low - alright
if we want to change the depth to one
it'll show us just the dependencies of
gulp okay but a lot of the dependencies
of gulp have more dependencies and that
can be another level so if we say -
you'll see that it gets bigger so if you
just do
NPM list it'll show all of the
dependencies of all the modules all
right now I'm just gonna remove gulp
real quick so let's say n can remove
gulp and I added that as a regular
dependency alright so the last thing I
want to do is talk about scripts ok so
if we look in our package dot jason we
have a scripts object and by default
they give you this test this is if you
want to install something like mocha
some kind of testing framework and you
want to have you want to be able to say
npm test now a lot of the times you'll
see a start script so we're not going to
use test I'm just gonna change it to
start and then what you would do is put
in the command to start your application
which in our case is what node index J s
so we would say node either index or
index dot JSP and say npm start and that
runs our application now there's a few
reasons to do this one is because if
someone takes your application they may
not know or they may not want to look
and see what your main file is they
don't want to go in here and see all the
main
index J s because it could be something
else it could be apt J s or server J s
so NPM start gives them just an easy way
to start it up without even have to look
have to look another reason would be you
might change this okay so you may change
index J s like let's rename it to app
dot J s and we'll go ahead and change
the main here to app J s and then we can
start this up with node app since we
changed the name node index no longer
works so what we would do is just update
our start script like that not like that
app is and then they can say NPM start
and that works all right
another reason is if you deploy to like
let's say Heroku or something like that
some kind of platform a lot of times
they'll look at the start script to see
what file is actually gonna need to need
to be run so that's that's another
reason but start isn't the I mean you
can add any script you want like let's
say we want instead of having to do live
server globally let's say we want to
install it locally and then create a
script for it so what I'll do is I'll
say NPM actually first of all I'm going
to remove it from the global area so
let's say remove live server - G all
right and then we'll install it locally
so we'll say npm install usually this
will be a dev dependency so we'll say
save dev oops
save dev live server
all right you can see that that got
added and then we may want to create a
script like let's say we'll call it just
server and we'll want it to run live
server so we'll save that go over here
and now we can say npm run server and
it'll open it up for us all right so
that's an example of a very simple npm
script notice that I did run I didn't do
if we say npm server that's not going to
work when we create a script unless it's
start or test or i think there's some
other ones then you have to do run okay
so no matter what you put here we could
call this dev if we wanted to and then
we could go over here and we could say
npm run dev and that'll start up live
server alright so I think that's gonna
be it guys I hope that you learned
something here whether you've never
touched NPM before or if you've been
using it for a while or if you know you
know all this and you just wanted to
watch it as a refresher that's fine so
that's it thanks for watching guys and I
will see you in the next video