07-----nodejs 中 npm的使用
npm是什么?
简单的说,npm就是JavaScript的包管理工具。类似Java语法中的maven,gradle,python中的pip。
1. 安装配置
https://nodejs.org/dist/v17.9.1/ #下载具体地址
下载linux完整包,可以直接使用。
wget https://nodejs.org/dist/v17.9.1/node-v17.9.1-linux-x64.tar.gz
配置
tar zxvf node-v17.9.1-linux-x64.tar.gz # 把解压好的放在固定位置 mv node-v17.9.1-linux-x64 /usr/local/node ln -s /usr/local/node/bin/node /usr/bin/node ln -s /usr/local/node/bin/npm /usr/bin/npm node -v npm -v npm install npm@latest -g //更新,暂时不做
yum方式安装
## yum-y install epel-release yum install nodejs npm -y
npm初始化
在去下载包之前,首先先让当前项目的包进行初始化操作,执行命令:
运行这个命令后,它会询问一些关于包的基本信息,根据实际情况回答即可。如果不喜欢这种方式,可以使用npm init --yes
命令直接使用默认的配置来创建package.json
文件,最后根据需要修改创建好的package.json
文件即可。
{ "name": "01-studynpm", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
主要字段的含义如下:
-
name: 模块名, 模块的名称有如下要求:
- 全部小写
- 只能是一个词语,没有空格
- 允许使用破折号和下划线作为单词分隔符
-
version: 模块版本信息
-
description:关于模块功能的简单描述,如果这个字段为空的话,默认会从当前目录的
READMD.md
或README
文件读取第一行内容作为它的默认值。 -
main: 模块被引入后,首先加载的文件,默认为
index.js
。 -
scripts: 定义一些常用命令入口
关于最后一个英文的意思,我们可以证明,当我执行npm init之后,会自动的生成package.json的文件。
安装模块
使用npm install
会读取package.json
文件来安装模块。安装的模块分为两类dependencies
和devDependencies
,分别对应生产环境需要的安装包和开发环境需要的安装包。
同样在安装模块的时候,可以通过指定参数来修改package.json文件,以jquery和webpack做例子
npm install jquery --save
npm install webpack --save-dev
执行以上命令,便可以安装对应的包到执行命令的当前目录,并创建一个node_modules
的文件夹,然后把需要安装的安装包下载到里面。
打开package.json文件会发现:
下载不同版本的模块
npm install jquery@2.0.1 --save
卸载模块
npm uninstall jquery --save
使用cnpm(淘宝镜像)国内镜像。
使用npm下载依赖时,由于是从国外的网站上下载内容,所以可能经常会出现不稳定的情况,所以需要下载cnpm代替npm,cnpm是国内淘宝的做的,在国内使用稳定。
1. 下载cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
ln -s /usr/local/node/bin/cnpm /usr/local/bin/
2. 使用cnpm
cnpm install jquery --save
3. 配置npm为cnpm镜像
npm config set registry https://registry.npm.taobao.org # 查看是否切换成功 npm config get registry
闭坑
如果node版本高于系统。则报错版本过低。
# 查看版本
查看系统的版本没有支持到3.4.21 以上的版本。
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
无特殊要求,不建议升级系统的版本采用过高的node。选择匹配的弄得版本安装即可。
本文来自博客园,作者:王竹笙,转载请注明原文链接:https://www.cnblogs.com/edeny/p/9355181.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App