npm是什么

npm简介

维基百科中npm定义

npm完全用JavaScript写成,最初由艾萨克·施吕特(Isaac Z. Schlueter)开发。
艾萨克表示自己意识到“模块管理很糟糕”的问题,并看到了PHP的PEAR与Perl的CPAN等软件的缺点,于是编写了npm。

npm可以管理本地项目的所需模块并自动维护依赖情况,也可以管理全局安装的JavaScript工具。

如果一个项目中存在package.json文件,那么用户可以直接使用npm install命令自动安装和维护当前项目所需的所有模块。
在package.json文件中,开发者可以指定每个依赖项的版本范围,这样既可以保证模块自动更新,又不会因为所需模块功能大幅变化导致项目出现问题。开发者也可以选择将模块固定在某个版本之上。

简言之,npm是node package management,是一款包管理工具。

安装npm

Node.js安装包中包括npm,下载地址https://nodejs.org/en/download/releases/
下载node.js,例如10.11.0

安装一个包

如何使用npm进行包管理呢?

本地安装

使用如下命令,可以安装一个包

# npm install <package name>

会在当前目录下创建node-modules,将要安装的包放置在这个目录下。
并在package.json文件依赖选项中添加相应的包。

npm install 如果不带任何参数,会从package.json获取要安装的依赖包和版本,并进行安装。

全局安装

如果你想将其作为一个命令行工具,那么你应该将其安装到全局。这种安装方式后可以让你在任何目录下使用这个包。比如 grunt 就应该以这种方式安装。

# npm install -g <package name>

例如

npm install -g jshint

package.json文件

在本地目录中如果没有 package.json 这个文件的话,那么最新版本的包会被安装。
如果存在 package.json 文件,则会在 package.json 文件中查找针对这个包所约定的语义化版本规则,然后安装符合此规则的最新版本。

文件内容格式example

{
  "name": "my-awesome-package",
  "version": "1.0.0"
}

创建package.json文件

执行命令,创建package.json文件
执行过程中,会进行配置项的选择。

# mkdir my-vue-proj
# cd my-vue-proj
# npm init


This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (my-vue-proj)
version: (1.0.0)
description: npm test example
entry point: (index.js)
test command:
git repository:
keywords:
author: lanyang
license: (ISC)
About to write to /Users/zhangyunyang/workspace/my-vue-proj/package.json:

{
  "name": "my-vue-proj",
  "version": "1.0.0",
  "description": "npm test example",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "lanyang",
  "license": "ISC"
}


Is this ok? (yes) yes

查看当前目录

# ls
package.json

可以看到已经创建了package.json文件

也可以直接执行命令,创建一个默认的package.json

# npm init --yes

文件各个选项的含义

  • name: the current directory name
  • version: always 1.0.0
  • description: info from the readme, or an empty string “”
  • main: always index.js
  • scripts: by default creates an empty test script
    可以这样使用: # npm test or npm run test
  • keywords: empty
  • author: empty
  • license: ISC

package.json文件中的Dependencies

两种类型的依赖

  • “dependencies”: These packages are required by your application in production.
  • “devDependencies”: These packages are only needed for development and testing.

一个是针对生产环境的,另一个是针对测试环境。

安装一个包后,package.json文件的变化

例如

# npm install lodash

安装包后package.json文件内容如下

{
  "name": "my-vue-proj",
  "version": "1.0.0",
  "description": "npm test example",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "zyy",
  "license": "ISC",
  "dependencies": {
    "lodash": "^4.17.11"
  }
}

如何更新安装的包

本地安装包

执行以下两个步骤:

  • 在 package.json 文件所在的目录中执行 npm update 命令
  • 执行 npm outdated 命令,不应该有任何输出。

全局安装包

对于全局安装包,更新执行如下命令:

npm update -g <package>

例如,

npm update -g jshint

查找哪些全局包需要更新:

# npm outdated -g --depth=0.

更新所有全局的包:

npm update -g.

如何卸载安装的包

本地安装包

如需删除 node_modules 目录下面的包(package),请执行:

npm uninstall

# npm uninstall <package>
// 例如
# npm uninstall lodash

如需从 package.json 文件中删除依赖,需要在命令后添加参数 --save:

npm uninstall --save lodash

注意:如果你将安装的包作为 “devDependency”(也就是通过 --save-dev 参数保存的),那么 --save 无法将其从 package.json 文件中删除。所以必须通过 --save-dev 参数可以将其卸载。

全局的安装包

通过如下命令将包(package)安装到全局:

# npm uninstall -g <package>

例如安装 jshint 包到全局,使用如下命令:

# npm uninstall -g jshint

package和module区别

  • A package is a file or directory that is described by a package.json. This can happen in a bunch of different ways! For more info, see "What is a package?, below.
  • A module is any file or directory that can be loaded by Node.js’ require(). Again, there are several configurations that allow this to happen. For more info, see “What is a module?”, below.

参考

npm中文文档

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "npm install" 是 Node Package Manager (npm) 的一个命令,用于在项目中安装所需的依赖包。它会读取项目目录中的 "package.json" 文件,并从 npm registry 下载定义的依赖包。在项目中使用依赖包的代码之前,通常需要先运行 "npm install" 命令。 ### 回答2: npm install是Node Package Manager(npm)的一个命令,用于从npm仓库中安装指定的包或模块。通过执行该命令,我们可以将其他开发者已经发布到npm上的代码包下载到本地项目中,并自动解决相关的依赖关系。 安装某个包或模块时,我们需要在终端中运行npm install命令,后跟需要安装的包的名称。npm install命令会使用npm的默认配置,在本地项目的node_modules目录中按照指定的包名称创建一个目录,并将包及其所有依赖项下载到该目录中。 npm install命令还支持一些选项和参数,例如: - 安装特定的版本:可以使用@符号后跟版本号的形式指定安装的包的特定版本。 - 安装全局包:使用-g参数,可以将包安装在全局环境中,而不是特定的项目中。 - 安装特定类型的包:使用--save、--save-dev 或 --save-optional等选项,可以将包作为项目的依赖、开发依赖或可选依赖安装。 通过npm install命令,我们可以方便地管理项目的依赖关系,并在开发过程中使用和更新各种可用的包或模块,提高项目的开发效率和可维护性。 ### 回答3: npm install 是一个命令,用于在 Node.js 环境中安装和管理软件包。npm是Node Package Manager的缩写,是JavaScript生态系统中最大的软件包管理器。 当我们需要使用一个特定的软件包时,可以通过运行 npm install 命令来安装它。例如,如果我们想要安装一个名为"express"的软件包,我们可以在终端或命令行中运行 npm install express。npm将会在当前项目的目录中查找并下载 express 软件包的最新版本,并将其保存在一个名为"node_modules"的文件夹中。 npm install 命令还会根据项目中的 package.json 文件中的依赖项列表,自动安装项目所需的其他软件包。在执行这个命令时,npm会读取该文件,并根据其中的依赖关系自动安装所有需要的软件包。 npm install 命令还可以通过添加一些选项来扩展其功能。例如,可以使用--save选项将安装的软件包添加到项目的 package.json 文件的dependencies列表中,以便在将项目部署到其他环境时可以自动安装所需的软件包。 综上所述,npm install 是一个用于在 Node.js 环境中安装和管理软件包的命令,它简化了 JavaScript 项目的依赖项管理,并提供了一种方便的方式来获取和更新所需的软件包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值