前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >npm 安装包的路径在哪里

npm 安装包的路径在哪里

作者头像
兮动人
发布2021-06-11 19:27:31
发布2021-06-11 19:27:31
19.3K00
代码可运行
举报
文章被收录于专栏:兮动人的博客兮动人的博客
运行总次数:0
代码可运行

文章目录

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

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

1. 本地安装

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

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

2. 全局安装

代码语言:javascript
代码运行次数:0
运行
复制
npm install -g lodash
  • 在这种情况下,npm 不会将软件包安装到本地文件夹下,而是使用全局的位置。
  • npm install xxx -g 时, 模块将被下载安装到【全局目录】中。【全局目录】通过 npm config set prefix "目录路径" 来设置。
  • 通过 npm config get prefix 来获取当前设置的全局目录。
  • 在 macOS 或 Linux 上,此位置可能是 /usr/local/lib/node_modules。 在 Windows 上,可能是 C:\Users\YOU\AppData\Roaming\npm\node_modules
  • 如:我云服务器上的全局安装路径
  • 但是,如果使用 nvm 管理 Node.js 版本,则该位置会有所不同。
  • 例如,使用 nvm,则软件包的位置可能为 /Users/joe/.nvm/versions/node/v8.9.0/lib/node_modules

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

  • 当使用 npm 将软件包安装到 node_modules 文件夹中或 全局安装 时,如何在 Node.js 代码中使用它?
  • 假设使用以下命令安装了流行的 JavaScript 实用工具库 lodash
代码语言:javascript
代码运行次数:0
运行
复制
npm install lodash
  • 这会把软件包安装到本地的 node_modules 文件夹中。
  • 若要在代码中使用它,则只需使用 require 将其导入到程序中:
代码语言:javascript
代码运行次数:0
运行
复制
const _ = require('lodash')
  • 如果软件包是可执行文件,该怎么办?
  • 在这种情况下,它会把可执行文件放到 node_modules/.bin/ 文件夹下。
  • 验证这一点的简单示例是 cowsay
  • cowsay 软件包提供了一个命令行程序,可以执行该程序以使母牛说些话(以及其他动物也可以说话)。
  • 当使用 npm install cowsay 安装软件包时,它会在 node_modules 文件夹中安装自身以及一些依赖包:
  • 有一个隐藏的 .bin 文件夹,其中包含指向 cowsay 二进制文件的符号链接:
  • 如何执行这些文件?
  • 可以输入 ./node_modules/.bin/cowsay 来运行它,但是最新版本的 npm(自 5.2 起)中包含的 npx 是更好的选择。 只需运行:
代码语言:javascript
代码运行次数:0
运行
复制
npx cowsay
  • npx 会找到程序包的位置。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 1、npm 将软件包安装到哪里
    • 1. 本地安装
    • 2. 全局安装
  • 2、如何使用或执行 npm 安装的软件包
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档