概述
npm install
是用来安装项目所依赖的模块的。当我们使用git clone
将线上项目下载到本地时,并没有下载node_modules这个目录。因为它保存了项目所依赖的所有模块,通常有几百兆大。虽然我们没有得到node_modules这个文件夹,但我们可以通过pakage.json这个文件的值项目所依赖的模块。然后,运行npm install
来安装pakage.json中dependencies下的所有模块。npm install
<=>npm i
npm install
的后面还可以跟一些参数。(符号<=>表示等价)
npm intsall moduleName
表示安装模块到项目node_modules目录下,不会将模块依赖写入pakage.json的devDependencies或dependencies中,这也就意味着,当别人git clone
你的项目时,不知道你依赖了这个模块,运行npm install
时也不会下载这个模块,所以当启动项目时很有可能会报错说某个模块找不到。
npm install -g moduleName <=> npm install modulesName -g
表示安装模块到全局的node_modules文件夹下(也就是说你的电脑在安装nodejs时指定的一个位置),该命令同样不会把依赖写入pakage.json,所以存在和上条同样的问题。
npm install -save moduleName <=> npm install moduleName --save <=> npm install moduleName -S
表示安装模块到项目node_modules目录下,会将模块依赖写入pakage.json的dependencies中。默认情况下,运行npm install
会将模块下载到项目目录下。
npm install -save-dev moduleName <=> npm install moduleName --save-dev <=> npm install moduleName -D
表示安装模块到项目node_modules目录下,会将模块依赖写入pakage.json的devDependencies中。默认情况下,运行npm install
会将模块下载到项目目录下。
上面说到,默认情况下,运行npm install
会下载模块,但是当运行npm install --production
或者注明NODE_ENV的值时production时,pakage.json中devDependencies中的模块不会被自动下载。这是因为,devDependencies中指定的模块是在开发时需要用的,比如gulp,dependencies中指定的是项目运行必备的,比如express。
上面也有说到项目下的node_modules目录和全局下的node_nodules目录,他们在node搜索模块的过程中优先级是不同的,如下图所示。
最后
以上就是壮观超短裙为你收集整理的npm install及其配置参数使用细则的全部内容,希望文章能够帮你解决npm install及其配置参数使用细则所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复