【转】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
的问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2024-02-06 [转][Java]ApplicationContext 的继承体系
2017-02-06 [转]Winform 经验集