Node.js 安装
参考官方文档:
# 安装 node.js v10.12.0
$ wget -qO- https://deb.nodesource.com/setup_10.x | sudo -E bash -
$ sudo apt-get install -y nodejs
# 要从 npm 编译和安装原生插件,您可能还需要安装构建工具
$ sudo apt-get install -y build-essential 
# 检查当前 node.js 版本
$ node -v      
v10.12.0
# 检查当前 npm 版本
$ npm -v
6.4.1
$ sudo apt-get upgrade nodejs    ## 更新 node.js
$ sudo apt-get remove nodejs     ## 卸载 node.js
# 更新 npm
$ npm i -g npm
Node.js 版本升级
npm 上有一个开源包叫 n,是专门用来管理 node.js 的版本的。
- 
安装 n 模块(-g 表示全局环境下安装)。
npm install -g n - 
升级 node 到最新稳定版本。
$ n stable # 你也可以指定 node 版本 $ n v10.11.0 $ n 10.11.0 - 
检查当前 node 版本
$ node -v # 查看 node 版本 v10.10.0 $ npm -v # 显示版本,检查 npm 是否正确安装 6.4.1 $ npm version # 显示完整信息 { npm: '6.4.1', ares: '1.14.0', cldr: '33.1', http_parser: '2.8.0', icu: '62.1', modules: '64', napi: '3', nghttp2: '1.33.0', node: '10.10.0', openssl: '1.1.0i', tz: '2018e', unicode: '11.0', uv: '1.23.0', v8: '6.8.275.30-node.24', zlib: '1.2.11' } 
NPM 的常用命令
npm 是 Node.js 默认的包管理器。
- 
查看帮助
npm help 或 npm h - 
安装模块
 
  npm install <Module Name>
  npm i <Module Name> # 简写
  
  # 同时将安装包信息记录到 package.json 的 dependencies 字段(自动更新package.json 文件)
  npm i --save <Module Name> 
  npm i -S <Module Name>
  
  # 开发阶段,记录到 package.json 的 devDependencies 字段
  npm i --save -dev <Module Name> 
  
  # 示例:
  npm install express    # 安装 express 模块
  npm i uuid             # 安装 uuid 模块
  npm i moment           # 安装 moment 模块(时间处理模块)
  npm i node-forge       # 安装 node-forge 模块(TLS)
  npm i mocha            # 安装 mocha 模块(测试框架)
  npm i body-parser --save # 安装消息体解析模块
  npm i sqlite3 --save     # 安装 sqlite3 进程内数据库
  npm i node-readability --save # 安装 HTML 页面转化模块
  npm i ejs --save        # 安装渲染模版引擎
  npm i http-errors --save  # Create HTTP errors for Express, Koa, Connect, etc. with ease.
- 
在全局环境中安装模块(-g:启用 global 模式)
⚠️
- 全局模式并不是将一个模块包安装为一个全局包的意思,它并不意味着可以从任何地方通过 
require()方法引用到它。 - 
-g是将一个包安装为全局可用的可执行命令。 - 如果包中含有命令行工具,那么需要执行全局安装。
 - 要全局安装的包一般是工具,即你要在命令行里运行的程序。
 
npm install -g <Module Name> # 全局安装 express npm install -g express # 使用脚手架快速初始化 Egg.js 项目 npm i egg-init -g egg-init egg-example --type=simple cd egg-example npm i # 全局安装 Express 生成器 sudo -s npm install -g express-generator # 使用 Express 生成器创建应用(oauth) express oauth cd oauth npm install npm start - 全局模式并不是将一个模块包安装为一个全局包的意思,它并不意味着可以从任何地方通过 
 - 
卸载模块
# 查看 uninstall 用法 npm uninstall -h npm uninstall [<@scope>/]<pkg>[@<version>]... [--save-prod|--save-dev|--save-optional] [--no-save] aliases: un, unlink, remove, rm, r # 使用示例 npm uninstall <Module Name> npm uninstall express # 删除指定的模块 npm uninstall -g express # 全局卸载 express npm un md5 # 移除 md5 模块 npm un node-rsa # 移除 node-rsa 模块 - 
显示当前目录下安装的模块
npm list npm ls # 分析包,分析出当前路径下能够通过模块路径找到的所有包,并生成依赖树。 npm list -g - 
显示模块详情
npm show <Module Name> npm show express - 
升级模块
npm update # 升级当前目录下的项目的所有模块 npm update express # 升级当前目录下的项目的指定模块 npm update -g express # 升级全局安装的express模块 
初始化生成包描述文件(package.json 文件)
$ 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.
package name: (node)
version: (1.0.0)
description:
entry point: (testCrypto.js)
test command:
git repository:
keywords: arlingbc
author:
license: (ISC)
你也可以使用默认值创建 package.json 文件:npm init -y
注册包仓库账号
$ npm adduser
上传包文件
$ npm publish <floder> # 上传包文件到官方仓库
$ npm publish .
管理包权限
通常,一个包只有一个人拥有权限进行发布。
$ npm owner ls <package name>
$ npm owner add <user> <package name>
$ npm owner rm <user> <package name>
node 命令行权限问题
运行 npm 命名时,提示“permission denied...”,解决方法是设置允许不安全权限:
npm config set unsafe-perm=true
# 如果以上方法无效,不妨在命令前加 sudo 提升权限
sudo npm install -g eslint
npm 脚本
npm 脚本可以说是一个微型脚本调用工具,你可以用它构建客户端包、执行测试、生成文档等。
启动服务器的命令(node index.js)可以保存为 npm 脚本,打开 package.json 文件,在 scripts 里添加一个 start 属性:
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js"
  },
启动程序:npm start
指定端口:PORT=3001 npm start










网友评论