乐趣区

关于node.js:npm的安装与使用

一、npm 是啥?
  • npm(全称 Node Package Manager)是一个软件包管理系统,专门治理用 JavaScript 编写的软件包。能够收费下载他人写好的 js 软件包,并用到我的项目中,当然也能够上传共享本人写的 js 软件包。
  • Node.js 内置了 npm,只有装置了 node.js,就能够间接应用 npm,Node.js 的装置形式,看这里!
  • 装置完 node.js 后,把 npm 更新到最新版本:

    npm install npm@latest -g

二、我的项目中应用 npm
1、初始化

依据提醒填写对应信息,即可产生 package.json 文件

cd < 我的项目根目录 >
npm init 
2、应用 npm 下载安装包
# 装置须要应用的包
npm install lodash

# 装置实现后,package.json 中会增加版本信息,如下:{
  "dependencies": {"lodash": "^1.0.0"}
}
3、应用装置的包
var lodash = require('lodash');
var output = lodash.without([1, 2, 3], 1);
console.log(output);
4、更新包
# 法一:依据版本号更新
npm install lodash@版本号

# 法二:更新最新版本
npm install lodash
npm install lodash@latest

# 法三:批改 package.json 中包的版本号,下一次 npm install 会自动更新会批改后的版本。
三、常用命令
1、常用命令

用 lodash 包阐明 npm 的应用办法:

# 全局装置 lodash
npm install -g lodash

# 本地装置 lodash(默认装置最新版本)npm install lodash
npm install lodash@latest

# 装置指定版本
npm install lodash@1.0.0

# 卸载
npm uninstall lodash 

# 查看已装置
npm ls 

# 更新 lodash 到最新版本
npm update lodash 

# 搜寻 lodash
npm search lodash 

四、作用域
1、无作用域的包
var lodash = require('lodash');
var output = lodash.without([1, 2, 3], 1);
console.log(output);
// package.json 中版本状况
{
  "dependencies": {"lodash": "^1.0.0"}
}
2、有作用域的包
var projectName = require("@scope/package-name")
// package.json 中版本状况
{
  "dependencies": {"@scope/package_name": "^1.0.0"}
}

五、常见谬误
1、Error: Cannot find module
  • 当呈现如下谬误提醒,示意 packages 没有被装置:

    module.js:340
        throw err;
              ^
    Error: Cannot find module 'lodash'
  • 解决方案:

    # 无作用域包装置
    npm install <package_name>
    
    # 有作用域包装置
    npm install <@scope/package_name>

2、装置出错

谬误提醒:npm resource busy or locked….. 能够先革除再重新安装:

npm cache clean
npm install

六、版本控制符

版本号有三位数字组成(譬如:1.2.3),1 示意主版本、1.2示意主要版本、1.2.3 示意补丁版本。

^ 示意用于确定主版本号、~ 用于确定主版本号 + 主要版本号;

  • ^1:等同于 1.x.x , 以 1 结尾的所有版本;
  • ~2.2:等同于 2.2.x,以 2.2 结尾的所有版本。
  • ~2.2.1:以 2.2 结尾,且最初一位 补丁号≥1 的所有版本,即 2.2.12.2.9 之间版本,包含头尾。
// 可应用在 package.json 中
"dependencies": {
  "my_dep": "^1.0.0",
  "another_dep": "~2.2.0"
},

七、参考文档
  • npm 的装置与应用!
退出移动版