macOS执行dbt deps命令遇权限错误,求解决办法
解决dbt deps执行时/mnt目录只读的问题
可以通过以下几种方式绕过/mnt目录或更换依赖安装路径:
1. 用环境变量指定dbt全局配置目录
- 临时生效:在终端执行以下命令后再运行
dbt depsexport DBT_GLOBAL_CONFIG_DIR="/你的可写路径" - 永久生效:将上述
export命令添加到你的shell配置文件(如~/.bashrc、~/.zshrc),保存后执行source ~/.zshrc(对应你的shell类型)使配置生效。
2. 在项目配置中指定本地依赖安装路径
打开项目根目录的dbt_project.yml,添加或修改以下配置:
config-version: 2 # 其他原有配置... packages-install-path: "./dbt_packages" # 填写项目内可写的路径,比如项目根目录下的dbt_packages文件夹
修改完成后重新执行dbt deps,依赖会直接安装到你指定的项目内路径,完全绕开/mnt目录。
3. 使用虚拟环境隔离dbt运行环境
- 创建并激活虚拟环境:
python -m venv ~/dbt-venv source ~/dbt-venv/bin/activate # macOS/Linux系统 # Windows系统执行:~/dbt-venv/Scripts/activate - 在虚拟环境内重新安装dbt:
pip install dbt-core # 若需特定适配器,可安装如dbt-postgres、dbt-bigquery等 - 之后在该虚拟环境中执行
dbt deps,依赖会安装到虚拟环境的专属目录,不会涉及/mnt路径。
内容的提问来源于stack exchange,提问作者djohon
相关产品推荐
相关产品推荐

