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

Mac OS X 10.12.6下Laravel5项目npm install卡住问题咨询

Laravel 5 npm install 卡 phantomjs 问题解析 & 解决办法

Hey there! Let’s walk through your questions clearly—this phantomjs/npm snag is super common on Mac, especially with older Laravel versions like 5.x.

1. 为什么明明package.json不复杂,却会涉及phantomjs?

Even if your own package.json looks simple, 间接依赖 is the culprit here. Laravel 5默认依赖laravel-elixir(当时的前端构建工具),而elixir或者它的子依赖(比如测试工具karma、某些UI组件的自动化测试脚本)会把phantomjs作为无头浏览器依赖拉进来。你看不到它直接出现在你的package.json里,但npm会递归安装所有嵌套依赖,所以phantomjs就悄悄加入了下载队列。

2. 为什么卡住时间这么久?

Phantomjs的安装包本身不小(大概200-300MB),而且默认从境外官方源下载。Mac上的npm在拉取大文件时,很容易因为:

  • 境外源的网络延迟/限速
  • 本地网络波动、丢包
  • npm缓存损坏导致重复下载
  • 安装脚本还要做权限校验、解压、环境配置等额外操作
    这些因素加起来,就会让进度条看起来“卡住”很久,甚至看似无响应。

3. 是不是网络问题导致的?

大概率是!但也不能完全排除其他小问题:

  • 网络问题:境外源访问不稳定是最常见的原因
  • npm缓存问题:缓存文件损坏会导致下载反复失败重试
  • Node版本不兼容:Laravel 5对Node版本有要求(建议用Node 8.x/10.x,太新的Node版本可能和老依赖冲突)

实用解决办法

试试这些步骤,按顺序来:

  • 配置国内镜像(最有效):
    给npm设置淘宝镜像,同时单独指定phantomjs的国内源:
    npm config set registry https://registry.npmmirror.com
    npm config set phantomjs_cdnurl https://npmmirror.com/mirrors/phantomjs/
    
    之后再运行npm install,速度会快很多。
  • 清理npm缓存:
    如果缓存损坏,先清理再重装:
    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install
    
  • 手动下载phantomjs:
    去国内镜像站下载对应Mac版本的phantomjs压缩包(比如phantomjs-2.1.1-macosx.zip,看你的依赖要求的版本),放到npm缓存目录~/.npm/phantomjs/{对应版本号}/里,再运行npm install,npm会直接用本地缓存的文件,不用再下载。
  • 检查Node版本:
    用nvm管理Node版本,切换到Laravel 5兼容的版本(比如10.x),再重试安装。

Trust me, I’ve stared at that "Downloading phantomjs" line for way too long on my Mac 10.12.6—these fixes should get you past the stuck point.

内容的提问来源于stack exchange,提问作者code-8

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:06:14