• home > webfront > ECMAS > npm-node >

    npm包管理问题:安装nvm后如何管理各个版本间包

    Author:zhoulujun Date:

    nvm切换node版本后,全局的node_modules不改变,实际需要切换node版本的时候,更改npm的 node_cache 和 node_global 的路径

    nvm是node.js的版本管理工具,使用nvm安装node,可以实现node版本的快速切换

    命令说明
    nvm list available显示可以安装的所有node.js的版本
    nvm list显示所有已安装的node.js版本
    nvm use切换到指定的nodejs版本
    nvm install安装指定版本的node.js,例如:nvm install 8.12.0
    nvm uninstall卸载指定版本的node.js,例如:nvm uninstall 8.12.0
    nvm on启用node.js版本管理
    nvm off禁用node.js版本管理(不卸载任何东西)

    node 版本管理工具还有一个是 TJ大神的 n 命令,n 命令是作为一个 node 的模块而存在,而 nvm 是一个独立于 node/npm 的外部 shell 脚本,因此 n 命令相比 nvm 更加局限。

    由于 npm 安装的模块路径均为 /usr/local/lib/node_modules,当使用 n 切换不同的 node 版本时,实际上会共用全局的 node/npm 目录。 因此不能很好的满足『按不同 node 版本使用不同全局 node 模块』的需求。

    nvm的node被安装在哪里

    在终端我们可以使用 which node 来查看我们的 node 被安装到了哪里,这里终端打印出来的地址其实是你当前使用的 node 版本快捷方式的地址。

    /Users/你的用户名/.nvm/versions/node/v10.13.0/bin/node

    npm 包存放地址 在指定版本的  node 的 lib 中 node_modules 下的模块

    比如:/Users/andyChou/.nvm/versions/node/v16.13.0/lib/node_modules


    npm包安装

    • npm  本地安装: npm install 命令时,例如:npm install lodash 软件包会被安装到当前文件树中的 node_modules 子文件夹下。

    • npm全局安装:npm install -g lodash npm 不会将软件包安装到本地文件夹下,而是使用全局的位置。

    如何查看 npm -g 全局安装路径

    • npm config get prefix 查看 npm 安装路径

    • npm prefix -g  npm config get prefix 

    • npm config set prefix 可设置 npm 安装路径

      • npm config ls -l 查看配置列表的全部信息

    • npm root -g  node_modules 的全局安装路径

    • npm config get cache 查看当前npm包的全局cache路径

    每次使用nvm切换node版本,最好都查看一下npm全局配置路径是否失效

    npm 如何查看一个包的版本信息?

    • npm view jquery versions:查看npm服务器上所有的jquery版本信息—npm查看指定包的所有版本

    • npm view jquery versions 查看的最新的版本是哪一个

    • npm info jquery 查看jquery所有的版本以及相关信息

    本地下载的jquery版本信息

    • npm ls jquery 即可(查看本地安装的jQuery)

    • npm ls jquery -g    (查看全局安装的jquery)


    npm包的隐藏路径

    /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

    比如npm 的一些cli 包按照后,卸载没有用可能就是在这些目录的里面。这些通过npm 命令是无法查找这些位置的,比如

    wecom-temp-58d502b8a3876c9c6ea0a41bce3f28cc copy.jpg

    其中一些东西就隐藏在这个里面



    转载本站文章《npm包管理问题:安装nvm后如何管理各个版本间包》,
    请注明出处:https://www.zhoulujun.cn/html/webfront/ECMAScript/nodejs/8741.html