npm 安装包的路径在哪里
  TEZNKK3IfmPf 17天前 26 0

1、npm 将软件包安装到哪里

  • 当使用 npm 安装软件包时,可以执行两种安装类型:
  1. 本地安装
  2. 全局安装

1. 本地安装

  • 默认情况下,当输入 ​​npm install​​ 命令时,例如:
npm install lodash
    •  
  • 软件包会被安装到当前文件树中的 ​​node_modules​​ 子文件夹下。
  • 在这种情况下,​​npm​​ 还会在当前文件夹中存在的 ​​package.json​​ 文件的 ​​dependencies​​ 属性中添加 ​​lodash​​ 条目。
  • 使用 ​​-g​​ 标志可以执行全局安装:
  • ​npm install xxx​​ ,则是将模块下载到当前命令行所在目录。
    •  
例如:
c:\123>npm install xxx

将会安装到
c:\123\node_modules\xxx
    •  
  • 这种方式显然是不好的,所以一般都会使用全局安装方式统一安装的一个目录中去,这样既方便管理、结构清晰还可以重复利用。
  • 通过 ​​npm config get prefix​​ 来获取当前设置的目录。
    •  

2. 全局安装

npm install -g lodash

在 macOS 或 Linux 上,此位置可能是 ​​​/usr/local/lib/node_modules​​​。 在 Windows 上,可能是 ​​C:\Users\YOU\AppData\Roaming\npm\node_modules​​​。

如:我云服务器上的全局安装路径
npm 安装包的路径在哪里


但是,如果使用 ​​​nvm​​​ 管理 ​​Node.js​​​ 版本,则该位置会有所不同。

例如,使用 ​​​nvm​​​,则软件包的位置可能为 ​​/Users/joe/.nvm/versions/node/v8.9.0/lib/node_modules​​​。

2、如何使用或执行 npm 安装的软件包

当使用 ​​npm​​​ 将软件包安装到 ​​node_modules​​ 文件夹中或 ​全局安装​​ 时,如何在 ​​Node.js​​​ 代码中使用它?

假设使用以下命令安装了流行的 JavaScript 实用工具库 ​​lodash​​​:

在这种情况下,​​​npm​​​ 不会将软件包安装到本地文件夹下,而是使用全局的位置。


​npm install xxx -g​​​ 时, 模块将被下载安装到【全局目录】中。【全局目录】通过
​​​npm config set prefix "目录路径"​​​ 来设置。

通过 ​​​npm config get prefix​​​ 来获取当前设置的全局目录。
npm 安装包的路径在哪里

npm install lodash

这会把软件包安装到​本地的​​ ​​node_modules​​​ 文件夹中。

若要在代码中使用它,则只需使用 ​​require​​​ 将其导入到程序中:


const _ = require('lodash')

如果软件包是可执行文件,该怎么办?

在这种情况下,它会把可执行文件放到 ​​​node_modules/.bin/​​​ 文件夹下。

验证这一点的简单示例是 ​​​cowsay​​​。


​cowsay​​​ 软件包提供了一个命令行程序,可以执行该程序以使母牛说些话(以及其他动物也可以说话)。

当使用 ​​​npm install cowsay​​​ 安装软件包时,它会在 ​​node_modules​​​ 文件夹中安装自身以及一些依赖包:
npm 安装包的路径在哪里

npx cowsay
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 17天前 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月14日   97   0   0 安装python
  TEZNKK3IfmPf   2024年05月17日   30   0   0 ansible安装
  TEZNKK3IfmPf   2023年11月14日   22   0   0 logstash安装
  TEZNKK3IfmPf   2023年11月14日   34   0   0 安装
  TEZNKK3IfmPf   2023年11月15日   85   0   0 npmvue
TEZNKK3IfmPf