Termux环境安装Express时遭遇EACCES权限错误求助
解决Termux中npm安装Express的EACCES权限错误
问题原因
Android外部存储目录(/storage/emulated/0)不支持创建符号链接,而npm安装依赖过程中需要创建symlink,因此触发权限拒绝报错。
解决方法
方法1:将项目迁移到Termux内部存储
Termux内部存储支持完整的文件系统操作,建议把项目移到这里:
# 在Termux主目录创建项目文件夹 mkdir ~/node-crash-course # 移动原项目文件到新目录 mv /storage/emulated/0/php/node-crash-course/* ~/node-crash-course/ # 进入新目录 cd ~/node-crash-course # 重新安装Express npm install --save express
方法2:禁用npm的符号链接功能
如果必须在外部存储操作,可强制npm用文件复制替代符号链接:
# 单次安装时禁用 npm install --save express --no-bin-links # 或者全局配置,后续所有安装都生效 npm config set bin-links false
额外提示
- 优先选择Termux内部存储存放开发项目,除了符号链接问题,还能避免外部存储的权限限制、文件被系统误清理等问题。
- 若操作后仍有问题,可检查项目目录的权限,执行
chmod -R 755 ~/node-crash-course调整权限。
内容的提问来源于stack exchange,提问作者Taiwo Samuel
相关产品推荐
相关产品推荐

