• 0--node安装


     
     
     
     

    安装NPM

    NPM的全称是Node Package Manager,如果你熟悉ruby的gem,Python的PyPL、setuptools,PHP的pear,那么你就知道NPM的作用是什么了。没错,它就是Nodejs的包管理器。Nodejs自身提供了基本的模块。但是在这些基本模块上开发实际应用需要较多的工作。所幸的是笔者执笔此文的时候NPM上已经有了5112个Nodejs库或框架,这些库从各个方面可以帮助Nodejs的开发者完成较为复杂的应用。这些库的数量和活跃也从侧面反映出Nodejs社区的发展是十分神速和活跃的。下面我将介绍安装NPM和通过NPM安装Nodejs的第三方库,以及在大陆的网络环境下,如何更好的利用NPM。

    Unix/Linux下安装NPM

    就像NPM的官网(http://npmjs.org/)上介绍的那样,安装NPM仅仅是一行命令的事情:

    curl http://npmjs.org/install.sh | sh 
    
    

    这里详解一下这句命令的意思,curl http://npmjs.org/install.sh是通过curl命令获取这个安装shell脚本,按后通过管道符| 将获取的脚本交由sh命令来执行。这里如果没有权限会安装不成功,需要加上sudo来确保权限:

     

    安装成功后执行npm命令,会得到一下的提示:

    Usage: npm <command> 
    where <command> is one of: 
    adduser, apihelp, author, bin, bugs, c, cache, completion, 
    config, deprecate, docs, edit, explore, faq, find, get, 
    help, help-search, home, i, info, init, install, la, link, 
    list, ll, ln, ls, outdated, owner, pack, prefix, prune, 
    publish, r, rb, rebuild, remove, restart, rm, root, 
    run-script, s, se, search, set, show, star, start, stop, 
    submodule, tag, test, un, uninstall, unlink, unpublish, 
    unstar, up, update, version, view, whoami 
    
    

    我们以underscore为例,来展示下通过npm安装第三方包的过程。

    npm install underscore 
    
    

    返回:

    underscore@1.2.2 ./node_modules/underscore 
    
    

    由于一些特殊的网络环境,直接通过npm install命令安装第三方库的时候,经常会出现卡死的状态。幸运的是国内CNode社区的@fire9同学利用空余时间搭建了一个镜像的NPM资源库,服务器架设在日本,可以绕过某些不必要的网络问题。你可以通过以下这条命令来安装第三方库:

    npm --registry "http://npm.hacknodejs.com/" install underscore 
    
    

    如果你想将它设为默认的资源库,运行下面这条命令即可:

    npm config set registry "http://npm.hacknodejs.com/"

    设置之后每次安装时就可以不用带上—registry参数。值得一提的是还有另一个镜像可用,该镜像地址是http://registry.npmjs.vitecho.com,如需使用,替换上面两行命令的地址即可。

     
    更新npm包
    localhost:test Hugo$ sudo npm update npm -g
    Password:
    /usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
    npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/init-package-json requires glob@'^4.0.2' but will load
    npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/glob,
    npm WARN unmet dependency which is version 5.0.3
    npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/read-package-json requires glob@'^4.0.2' but will load
    npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/glob,
    npm WARN unmet dependency which is version 5.0.3
    npm@2.7.6 /usr/local/lib/node_modules/npm
     
     
    如果你有PHP 开发经验,会习惯在修改PHP 脚本后直接刷新浏览器以观察结果,而你 
    在开发Node.js 实现的HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止 
    Node.js 再重新运行才会奏效。这是因为Node.js 只有在第一次引用到某部份时才会去解析脚 
    本文件,以后都会直接访问内存,避免重复载入,而PHP 则总是重新读取并解析脚本(如 
    果没有专门的优化配置)。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因 
    为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。 
    supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启Node.js。 
    使用方法很简单,首先使用npm 安装supervisor: 
    windows要在npm文件夹内安装运行。
    $ npm install -g supervisor
     
    如果你使用的是Linux 或Mac,直接键入上面的命令很可能会有权限错误。原因是npm 
    需要把supervisor 安装到系统目录,需要管理员授权,
    可以使用 sudo npm install -g supervisor 命令来安装。 
    localhost:~ Hugo$ sudo npm install -g supervisor
    Password:
    /usr/local/bin/node-supervisor -> /usr/local/lib/node_modules/supervisor/lib/cli-wrapper.js
    /usr/local/bin/supervisor -> /usr/local/lib/node_modules/supervisor/lib/cli-wrapper.js
    supervisor@0.6.0 /usr/local/lib/node_modules/supervisor
    接下来,使用supervisor 命令启动app.js:
     
    安装underscore
    localhost:~ Hugo$ sudo npm install -g underscore
    underscore@1.8.3 /usr/local/lib/node_modules/underscore
     
  • 相关阅读:
    java.lang.IllegalAccessError: tried to access method org.apache.poi.util.POILogger.log from class org.apache.poi.openxml4j.opc.ZipPackage
    相同域名不同端口的两个应用,cookie名字、路径都相同的情况下,后面cookie会覆盖前面cookie吗
    power designer 连接mysql提示“connection test failed”
    疑问:Spring 中构造器、init-method、@PostConstruct、afterPropertiesSet 孰先孰后,自动注入发生时间
    intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)
    Mysql启动时提示:Another MySQL daemon already running with the same unix socket.
    MySql中的varchar长度究竟是字节还是字符
    百度echarts使用--y轴label数字太长难以全部显示
    记录项目中用的laypage分页代码
    Ubuntu16.04下安装Cmake-3.8.2并为其配置环境变量
  • 原文地址:https://www.cnblogs.com/hgonlywj/p/4842584.html
Copyright © 2020-2023  润新知