linux 安装 npm pnpm

一,npm pnpm介绍

`npm` 是 Node.js 的包管理器(Node Package Manager),用于管理和分发 JavaScript 项目中的依赖项。以下是一些常用的 `npm` 命令:

  1. **`npm init`**: 初始化一个新的 Node.js 项目。该命令会创建一个 `package.json` 文件,其中包含项目的基本信息。

npm init

  1. **`npm install`**: 安装项目的依赖项。可以使用 `npm install <package-name>` 安装特定的包,或者使用 `npm install` 安装 `package.json` 中定义的所有依赖项。

npm install

  1. **`npm install -g`**: 全局安装一个包,使其在系统中的任何地方都可以访问。

npm install -g <package-name>

  1. **`npm uninstall`**: 卸载一个已安装的包。

npm uninstall <package-name>

  1. **`npm update`**: 更新已安装的包到最新版本。

npm update

  1. **`npm search`**: 搜索可用的 Node.js 包。

npm search <package-name>

  1. **`npm info`**: 显示有关包的详细信息,包括版本、依赖项等。

npm info <package-name>

  1. **`npm run`**: 运行在 `package.json` 文件中定义的脚本。

npm run <script-name>

  1. **`npm list`**: 显示当前项目的所有已安装的包及其版本。

npm list

  1. **`npm audit`**: 检查项目中的依赖项是否有已知的安全漏洞。

npm audit

`pnpm` 是另一个 JavaScript 包管理工具,类似于 `npm`,但有一些独特的特性。以下是一些关于 `pnpm` 的主要特点和用法:

  1. **依赖共享:** 与 `npm` 和 `yarn` 不同,`pnpm` 使用硬链接和符号链接来共享依赖项,从而节省磁盘空间。这意味着相同的包只会在磁盘上存储一次,而不是为每个项目复制一份。

  2. **快速安装:** 由于依赖项的共享和符号链接,`pnpm` 的安装速度通常比 `npm` 和 `yarn` 更快。

  3. **原子操作:** `pnpm` 的操作是原子的,即使在安装或卸载过程中发生中断,也不会留下不完整或损坏的状态。

  4. **单个版本存储:** `pnpm` 将每个包的不同版本存储在单独的目录中,以避免版本冲突。

以下是一些常见的 `pnpm` 命令:

  • **`pnpm install`**: 安装项目的依赖项。

pnpm install

  • **`pnpm add`**: 添加一个新的依赖项。

pnpm add <package-name>

  • **`pnpm remove`**: 移除一个依赖项。

pnpm remove <package-name>

  • **`pnpm run`**: 运行在 `package.json` 文件中定义的脚本。

pnpm run <script-name>

  • **`pnpm list`**: 显示当前项目的所有已安装的包及其版本。

pnpm list

  • **`pnpm store status`**: 显示本地存储的统计信息,包括节省的磁盘空间等。

pnpm store status

二,安装流程

yum -y install npm

npm install -g pnpm

相关推荐
臣妾没空1 天前
里程碑5:完成框架npm包抽象封装并发布
前端·npm
sudo_jin1 天前
前端包管理器演进史:为什么 npm 之后,Yarn 和 pnpm 成了新宠?
前端·npm
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux