美文网首页
Node.js 常用命令

Node.js 常用命令

作者: 独木舟的木 | 来源:发表于2018-10-09 02:07 被阅读47次

    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 的版本的。

    1. 安装 n 模块(-g 表示全局环境下安装)。

      npm install -g n
      
    2. 升级 node 到最新稳定版本。

      $ n stable
      # 你也可以指定 node 版本
      $ n v10.11.0
      $ n 10.11.0
      
    3. 检查当前 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

    相关文章

      网友评论

          本文标题:Node.js 常用命令

          本文链接:https://www.haomeiwen.com/subject/oomsaftx.html