美文网首页我爱编程
node.js学习之npm——4.《如何安装、更新、卸载本地包》

node.js学习之npm——4.《如何安装、更新、卸载本地包》

作者: margery | 来源:发表于2018-04-08 14:06 被阅读367次

    一、安装

    有两种方式用来安装 npm 包:本地安装和全局安装。至于选择哪种方式来安装,取决于我们如何使用这个包。

    • 如果你自己的模块依赖于某个包,并通过 Node.js 的 require 加载,那么你应该选择本地安装,这种方式也是 npm install 命令的默认行为。
    • 如果你想将包作为一个命令行工具,(比如 grunt CLI,webpack CLI,vue CLI,pug CLI),那么你应该选择全局安装
      想要了解更多,可以参考CLI文档

    安装一个package

    可以使用下面的命令来安装一个包:
    npm install <package_name>
    上述命令执行之后将会在当前的目录下创建一个 node_modules 的目录(如果不存在的话),然后将下载的包保存到这个目录下。

    测试

    为了确认 npm install 是正常工作的,可以检查 node_modules 目录是否存在,并且里面是否含有你安装的包的文件夹。

    实例

    安装一个叫做 lodash 的包。安装成功之后,如果 node_modules 目录下存在一个名为 lodash 的文件夹,则说明成功安装了这个包。
    Microsoft Windows:
    npm install lodash
    dir node_modules
    macOS, Ubuntu, Debian
    npm install lodash
    ls node_modules

    哪个版本的包会被安装了?

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

    使用已安装的package

    一旦将包安装到 node_modules 目录中,你就可以使用它了。比如在你所创建的 Node.js 模块中,你可以 require 这个包。
    举个例子
    index.js

    var lodash = require('lodash');
    var output = lodash.without([1, 2, 3], 1);
    console.log(output);
    

    运行 node index.js 命令。应当输出 [2, 3]。
    如果你没能正确安装 lodash,你将会看到如下的错误信息:

    module.js:340
        throw err;
              ^
    Error: Cannot find module 'lodash'
    

    可以在 index.js 所在的目录中运行 npm install lodash 命令来修复这个问题。

    二、更新

    定期更新你的应用所依赖的包(package)是个好习惯。因为依赖包的开发者更新了代码,你的应用也就能够获得提升。

    为了完成这个任务需要:

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

    三、卸载

    如何卸载本地安装的包

    如需删除 node_modules 目录下面的包(package),请执行:
    npm uninstall <package>:
    举个栗子
    npm uninstall lodash
    如需从 package.json 文件中删除依赖,需要在命令后添加参数 --save:
    npm uninstall --save lodash
    注意:如果你将安装的包作为 "devDependency"(也就是通过 --save-dev 参数保存的),那么 --save 无法将其从 package.json 文件中删除。所以必须通过 --save-dev 参数可以将其卸载。

    测试:
    为了确定 npm uninstall 命令执行成功,请找到 node_modules 目录,并在此目录下检查你所卸载的包(package)所对应的目录是否消失了。
    卸载 lodash

    npm uninstall lodash
    dir node_modules 
    

    注意点
    单独使用cnpm/yarn是没问题的,由于它们是不兼容的,所以混合使用是项目的开发出现问题。所以尽量单独使用一种工具。
    如果出现问题了,最简单最笨的方法是,删除node_modules/,然后npm|cnpm|yarn install来重新下载。

    相关文章

      网友评论

        本文标题:node.js学习之npm——4.《如何安装、更新、卸载本地包》

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