如何使用pnpm执行全局包?AWS CDK项目实操问题咨询
解决pnpm执行全局AWS CDK包的问题
正确执行方式:使用pnpm dlx
pnpm dlx专门用于执行全局安装的包或临时下载执行包,无需当前目录存在package.json,完美适配cdk init需要空目录的要求。步骤如下:
- 全局安装AWS CDK(已完成可跳过):
pnpm install -g aws-cdk@2.7.0 - 创建并进入空目录:
mkdir my-dir && cd my-dir - 直接执行CDK初始化命令:
pnpm dlx cdk init app --language=typescript
为什么之前的方法失败?
- 用
pnpm exec执行时,它要求当前目录必须有package.json(因为是项目范围内执行命令),空目录下运行会触发ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL错误。 - 本地安装AWS CDK后,执行
pnpm exec时,虽然满足了exec的环境要求,但此时目录已经有了package.json和node_modules,而cdk init要求目录完全为空,因此触发cdk init cannot be run in a non-empty directory!错误。
额外说明
如果不想全局安装CDK,pnpm dlx也会自动临时下载对应版本的包并执行,只需在命令中指定版本:
pnpm dlx aws-cdk@2.7.0 init app --language=typescript
内容的提问来源于stack exchange,提问作者Fabiano
相关产品推荐
相关产品推荐

