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

如何解决Pop!_OS 23.04上Laravel 10的npm EPERM权限问题?

问题描述

我在Pop!_OS 23.04上搭建全新Laravel项目,按照Laravel官方文档安装Breeze启动套件。先后通过二进制包和NVM安装了Node.js,但执行npm相关命令时遇到权限错误。

执行的命令:

php artisan breeze:install 
php artisan migrate
npm install
npm run dev

收到的错误信息:

npm ERR! code EPERM
npm ERR! syscall symlink
npm ERR! path ../autoprefixer/bin/autoprefixer
npm ERR! dest /media/luzkramer/HDD/codes/PHP/laravel/test/node_modules/.bin/autoprefixer
npm ERR! errno -1
npm ERR! Error: EPERM: operation not permitted, symlink '../autoprefixer/bin/autoprefixer' -> '/media/luzkramer/HDD/codes/PHP/laravel/test/node_modules/.bin/autoprefixer'
npm ERR! [Error: EPERM: operation not permitted, symlink '../autoprefixer/bin/autoprefixer' -> '/media/luzkramer/HDD/codes/PHP/laravel/test/node_modules/.bin/autoprefixer']
{
npm ERR! errno: -1,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'symlink',
npm ERR! path: '../autoprefixer/bin/autoprefixer',
npm ERR! dest: '/media/luzkramer/HDD/codes/PHP/laravel/test/node_modules/.bin/autoprefixer'
npm ERR! }

npm ERR! 操作被操作系统拒绝。
npm ERR! 你当前用户可能没有访问该文件的权限。
npm ERR! 如果你认为这是权限问题,请仔细检查文件及其所在目录的权限,或尝试以root/管理员身份重新运行命令。

npm ERR! 完整日志可查看:/home/luzkramer/.npm/_logs/2024-01-12T19_43_19_456Z-debug-0.log

解决方案
  • 检查外部硬盘的挂载参数
    项目存储在外部硬盘/media/luzkramer/HDD,Linux挂载外部分区时默认可能限制符号链接创建。先查看挂载参数:

    mount | grep /media/luzkramer/HDD
    

    若存在noexec或nosymlink参数,重新挂载分区并添加权限:

    sudo umount /media/luzkramer/HDD
    sudo mount -o rw,exec,symlinks /dev/[你的硬盘设备名] /media/luzkramer/HDD
    

    (设备名可通过lsblk命令查看)
    要永久生效,编辑/etc/fstab,在对应分区的挂载参数中加入rw,exec,symlinks。

  • 修复项目目录权限
    确保当前用户拥有项目目录的所有权:

    sudo chown -R luzkramer:luzkramer /media/luzkramer/HDD/codes/PHP/laravel/test
    sudo chmod -R 755 /media/luzkramer/HDD/codes/PHP/laravel/test
    
  • 避免用root运行npm
    不要直接用sudo npm install,会导致node_modules归root所有。如果之前用sudo运行过,先修复权限:

    sudo chown -R luzkramer:luzkramer /media/luzkramer/HDD/codes/PHP/laravel/test/node_modules
    
  • 清理缓存后重试

    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install
    npm run dev
    

内容的提问来源于stack exchange,提问作者William Kramer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 12:22:28