随笔 - 750  文章 - 1  评论 - 107  阅读 - 34万

【转】pnpm 的使用

转自:kimi.ai

pnpm 是一个高性能的包管理工具,它通过优化磁盘空间占用和安装速度,同时保持严格的依赖管理,来提升开发效率。以下是 pnpm 的基本使用方法和一些常见命令。

1. 安装 pnpm

如果你还没有安装 pnpm,可以通过以下命令全局安装:
bash复制
npm install -g pnpm

2. 初始化项目

在项目目录中运行以下命令,初始化一个新的 pnpm 项目:
bash复制
pnpm init
这会创建一个 package.json 文件,你可以根据提示填写项目信息。

3. 安装依赖

在项目目录中运行以下命令,安装项目依赖:
bash复制
pnpm install
如果你需要安装一个特定的包,可以使用:
bash复制
pnpm add <package-name>
例如:
bash复制
pnpm add express

4. 卸载依赖

如果你想卸载某个包,可以使用:
bash复制
pnpm remove <package-name>
例如:
bash复制
pnpm remove express

5. 安装开发依赖

如果你想安装一个开发依赖(仅在开发环境中使用),可以使用:
bash复制
pnpm add <package-name> --save-dev
例如:
bash复制
pnpm add eslint --save-dev

6. 运行脚本

package.json 中定义的脚本可以通过以下命令运行:
bash复制
pnpm run <script-name>
例如,如果你在 package.json 中定义了以下脚本:
JSON复制
"scripts": {
  "start": "node index.js",
  "test": "jest"
}
你可以运行:
bash复制
pnpm run start
bash复制
pnpm run test

7. 查看已安装的包

你可以通过以下命令查看项目中已安装的包及其版本:
bash复制
pnpm list
如果你想查看全局安装的包,可以使用:
bash复制
pnpm list -g

8. 更新包

如果你想更新已安装的包到最新版本,可以使用:
bash复制
pnpm update <package-name>
如果你想更新所有包,可以使用:
bash复制
pnpm update

9. 使用锁文件

pnpm 使用 pnpm-lock.yaml 文件来锁定依赖版本,确保在不同环境中安装的依赖版本一致。你可以通过以下命令生成或更新锁文件:
bash复制
pnpm install
这会自动生成或更新 pnpm-lock.yaml 文件。

10. 使用工作区(Monorepo)

pnpm 对 Monorepo 提供了强大的支持。如果你的项目是一个 Monorepo,可以在根目录中运行以下命令来安装所有包:
bash复制
pnpm install --filter <workspace-name>
例如:
bash复制
pnpm install --filter my-package

11. 配置 pnpm

你可以通过以下命令配置 pnpm 的全局设置:
bash复制
pnpm config set <key> <value>
例如,设置镜像源:
bash复制
pnpm config set registry https://registry.npmjs.org

12. 清理缓存

如果你想清理 pnpm 的缓存,可以使用:
bash复制
pnpm store prune
这会清理未使用的包缓存。

13. 查看帮助

如果你想了解更多命令和选项,可以运行:
bash复制
pnpm --help

总结

pnpm 是一个功能强大且高效的包管理工具,特别适合大型项目和 Monorepo 架构。通过上述命令,你可以轻松地管理项目依赖,提升开发效率。

当使用 npm 时遇到 certificate has expired 错误时,通常是因为当前配置的镜像源的 SSL 证书已过期。以下是解决该问题的几种方法:

1. 取消 SSL 验证

可以通过以下命令暂时绕过 SSL 证书验证:
bash复制
npm config set strict-ssl false
此方法可以快速解决问题,但会降低安全性,不建议在生产环境中使用

2. 更换镜像源

如果当前使用的镜像源证书过期,可以更换为其他可靠的镜像源:
  • 切换到 npm 官方镜像源:
    bash复制
    npm config set registry https://registry.npmjs.org
  • 使用华为云镜像源:
    bash复制
    npm config set registry https://mirrors.huaweicloud.com/repository/npm/
  • 使用其他国内镜像源:
    bash复制
    npm config set registry http://registry.cnpmjs.org
    bash复制
    npm config set registry http://registry.npmmirror.com
    (注意:部分镜像源可能已停止服务或证书过期,需谨慎选择)

3. 清理缓存

清理 npm 缓存后,重新尝试安装:
bash复制
npm cache clean --force
清理缓存后,再次运行 pnpm install

4. 升级 npm 和 Node.js

确保你使用的是最新版本的 npm 和 Node.js,因为旧版本可能存在已知的安全问题或证书问题:
bash复制
npm install -g npm
或者升级 Node.js 到最新版本

5. 使用 HTTP 镜像源(不推荐)

如果上述方法均无效,可以尝试将镜像源切换为 HTTP(非加密):
bash复制
npm config set registry http://registry.npmjs.org
但这种方法不推荐,因为它会降低安全性

注意事项

  • 如果问题仍然存在,建议检查系统时间是否正确,因为错误的系统时间可能导致 SSL 证书验证失败。
  • 如果使用的是公司内网或私有镜像源,可能需要联系管理员检查镜像源的 SSL 证书状态。
通过以上方法,通常可以解决 certificate has expired 的问题。
posted on   z5337  阅读(171)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2024-02-06 [转][Java]ApplicationContext 的继承体系
2017-02-06 [转]Winform 经验集
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示