使用cookiecutter生成Dash组件项目时pre_gen_project脚本执行失败
解决Dash组件项目生成时pre_gen_project钩子执行失败问题
问题背景
在Ubuntu 18.04.5(WSL)环境下,按照dash-component-boilerplate指南使用cookiecutter生成Dash组件项目时,出现pre_gen_project hook script didn't exit successfully错误。当前环境版本:Node v8.10.0、NPM 3.5.2、Python 3.6.9、pip 9.0.1、cookiecutter 1.7.3、virtualenv 20.16.7。
错误原因
核心问题是Node.js和NPM版本过低,dash-component-boilerplate对Node和NPM有最低版本要求(通常Node需≥12.x,NPM需≥6.x),旧版本无法满足钩子脚本的运行条件。此外,pip版本过旧可能导致依赖安装异常,进一步触发钩子执行失败。
修复步骤
1. 升级Node.js与NPM
使用nvm管理Node版本,安装兼容的LTS版本:
- 安装nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash - 重启终端后,安装适配Ubuntu 18.04的LTS版本Node:
nvm install lts/gallium - 设置该版本为默认:
nvm alias default lts/gallium - 验证版本:
node -v # 应显示v16.x.x npm -v # 应显示≥8.x.x
2. 升级pip与cookiecutter
- 升级pip:
python3 -m pip install --upgrade pip - 更新cookiecutter到兼容Python 3.6的最新稳定版:
pip3 install --upgrade cookiecutter==2.1.1
3. 重新生成项目
执行命令重新创建项目,按提示完成配置:
cookiecutter https://github.com/plotly/dash-component-boilerplate.git
内容的提问来源于stack exchange,提问作者user17715248
相关产品推荐
相关产品推荐

