Mac(M1 Pro)下Entity Framework迁移命令权限拒绝问题
EF命令执行权限拒绝问题排查方案(MacBook M1 Pro)
问题概况
- .NET已全局安装且命令可正常运行
- 执行所有Entity Framework(EF)命令时均报错
Permission denied,错误指向项目目录下的/Users/xaxage/RiderProjects/swoove-orsy/Swoove.Orsy/Swoove.Orsy.Api/dotnet文件 - 昨日首次添加迁移操作正常,设备为MacBook M1 Pro
解决步骤
1. 处理项目目录下的异常dotnet文件
项目目录中不应存在名为dotnet的文件,大概率是误创建导致EF工具调用错误:
- 进入项目目录:
cd /Users/xaxage/RiderProjects/swoove-orsy/Swoove.Orsy/Swoove.Orsy.Api - 查看是否存在该文件:
ls -la dotnet - 若存在,直接删除:
rm dotnet - 若文件确需保留(极少情况),添加执行权限:
chmod +x dotnet
2. 重置EF全局工具
可能是EF工具安装出现异常:
- 卸载现有EF工具:
dotnet tool uninstall --global dotnet-ef - 重新安装最新版EF工具:
dotnet tool install --global dotnet-ef - 验证安装:
dotnet ef --version
3. 检查IDE文件访问权限(若使用Rider)
确保Rider有权限访问项目目录:
- 打开「系统设置」→「隐私与安全性」→「文件与文件夹」
- 找到Rider,确认已勾选项目所在的
/Users/xaxage/RiderProjects目录 - 重启Rider后重新执行EF命令
4. 清理项目缓存并重新构建
项目缓存损坏可能导致异常:
- 删除项目下的
bin和obj目录:rm -rf bin obj - 重新构建项目:
dotnet build - 再次尝试EF命令,例如:
dotnet ef migrations list
内容的提问来源于stack exchange,提问作者Xaxage
相关产品推荐
相关产品推荐

