You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下运行lein test遇OS Error 13权限拒绝问题求助

解决MacOS下lein test权限拒绝问题

问题定位

报错提示无法运行路径/Library/Java/JavaVirtualMachines/liberica-jdk-19.jdk/Contents/Home,但这个路径是JDK的根目录,并非可执行文件——说明你的Java环境配置存在问题,导致Leiningen错误地将JDK目录当作可执行程序调用。

修复步骤

1. 验证JAVA_HOME与Java可执行文件权限

首先确认JAVA_HOME设置正确:

echo $JAVA_HOME

输出应为你的JDK根目录(即报错中的路径)。接着检查该目录下bin/java的执行权限:

ls -l $JAVA_HOME/bin/java

如果权限不包含rwx(即非-rwxr-xr-x),执行以下命令添加执行权限:

chmod +x $JAVA_HOME/bin/java

2. 确保PATH包含JDK的bin目录

检查PATH环境变量是否包含$JAVA_HOME/bin:

echo $PATH | grep "$JAVA_HOME/bin"

如果无输出,将其添加到shell配置文件(根据你使用的shell选择,比如Zsh用~/.zshrc,Bash用~/.bash_profile):

# Zsh示例
echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

# Bash示例
echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

3. 验证Java环境可用性

直接在终端运行以下命令,确认Java可正常执行:

java -version

如果仍提示权限错误,修复JDK目录链的权限(确保当前用户有读和执行权限):

sudo chmod -R u+rx /Library/Java/JavaVirtualMachines/liberica-jdk-19.jdk/

4. 清理Leiningen缓存

Leiningen可能缓存了旧的环境配置,执行清理后重新测试:

lein clean
lein test

5. 检查项目配置文件

打开项目根目录下的project.clj,确认是否存在:java-cmd配置项——如果有,需确保其指向java可执行文件(如$JAVA_HOME/bin/java),而非JDK根目录。


内容的提问来源于stack exchange,提问作者Fabio Dias Francisco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 04:50:07