一文了解npm install -g和npm install --save-dev的关系
本文分享自华为云社区《npm install -g 和 npm install --save-dev 的关系》,作者: SHQ5785。
一、npm install 本地安装
- 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
- 可以通过 require() 来引入本地安装包。
二、npm install -g 全局安装
- 将安装包放在 /usr/local 下或者 node 的安装目录。
- 可以直接在命令行里使用。
三、npm install --save
- 会把build包安装到node_modules目录中;
- 会在package.json的dependencies属性下添加build;
- 之后运行npm install命令时,会自动安装build到node_modules目录中;
- 之后运行npm install --production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中;
四、npm install --save-dev
- 会把msbuild包安装到node_modules目录中;
- 会在package.json的devDependencies属性下添加msbuild;
- 之后运行npm install命令时,会自动安装msbuild到node_modules目录中;
- 之后运行npm install --production或者注明NODE_ENV变量值为production时,不会自动安装msbuild到node_modules目录中;
五、package.json 中 dependencies 与 devDependencies 的区别
- dependencies:
应用能够正常运行所依赖的包。这种 dependencies 是最常见的,用户在使用 npm install 安装包时会自动安装这些依赖。
- devDependencies:
开发应用时所依赖的工具包。通常是一些开发、测试、打包工具,例如 webpack、ESLint、Mocha。应用正常运行并不依赖于这些包,用户在使用 npm install 安装包时也不会安装这些依赖。
- peerDependencies:
应用运行依赖的宿主包。最典型的就是插件,例如各种 jQuery 插件,这些插件本身不包含 jQeury,需要外部提供。用户使用 npm 1 或 2 时会自动安装这种依赖,npm 3 不会自动安装,会提示用户安装。
- bundledDependencies:
发布包时需要打包的依赖,似乎很少见。
- optionalDependencies:
可选的依赖包。此种依赖不是程序运行所必须的,但是安装后可能会有新功能,例如一个图片解码库,安装了 optionalDependencies 后会支持更多的格式。
那么 package.json 文件里面的 devDependencies 和 dependencies 对象有什么区别呢?
devDependencies 里面的插件(比如各种loader,babel全家桶及各种webpack插件等)只用于开发环境,不用于生产环境,因此不需要打包;而 dependencies 是需要发布到生产环境的,是要打包的。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Databend 开源周报第 145 期
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 What's On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 支持从 Stage 加载 UDF 脚本 Databend 支持从 Stage 中加载 UDF 脚本,大大简化了脚本的管理和部署流程。 现在你可以将 UDF 脚本存储在 Databend 支持的一揽子外部存储服务中,并通过简单的 SQL 语句加载到 Databend 中。对于云环境,还可以结合预签名 URL 以更好地管理脚本的上传。 下面是一个 JavaScript UDF 的示例: CREATE OR REPLACE FUNCTION gcd_js (INT, INT) RETURNS BIGINT LANGUAGE javascript HANDLER = 'gcd_js' AS 'data/udf/gcd.js' SELECT number, gcd_js(number * 3, number * ...
-
下一篇
一文教你基于LangChain和ChatGLM3搭建本地知识库问答
本文分享自华为云社区《【云驻共创】LangChain+ChatGLM3实现本地知识库,转华为云ModelArts,实现大模型AI应用开发》,作者:叶一一。 一、前言 本期华为云的讲师是华为云EI开发生态的工程师杰森,分享主题是:基于LangChain+ChatGLM3的本地知识库问答。 现如今,大语言模型发展到达了一个新高度,其应用场景也是适用于千行百业。而华为云EI更是具备了全栈AI能力,其提供的ModelArts是一站式AI开发平台,可帮助开发者智能、高效地创建AI模型和一键模型部署到云、边、端。 本文内容主要为对讲师的精彩分享内容梳理以及结合笔者对ModelArts的实际业务场景应用经验的概括。 阅读本文将有以下收获: 了解华为云ModelArts的AI能力; 了解LangChain的基本使用; 了解如何结合ChatGLM3实现本地知识库的问答。 二、基于LangChain+ChatGLM3实现本地知识库问答 2.1 大模型的发展历程 2.1.1 ChatGPT 2022年1月30日,0penAl发布了ChatGPT。这是一个基于大语言模型(LLM)的对话机器人(Chat Bot...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS关闭SELinux安全模块
- SpringBoot2更换Tomcat为Jetty,小型站点的福音