解决npm安装phantomjs失败

141 阅读2分钟

如果 PhantomJS 在线上下载失败,你可以手动下载后再本地安装,步骤如下:

  1. 手动下载 PhantomJS 安装包 从官方归档地址下载对应系统的版本:

  2. 解压并放置到指定位置 解压下载的压缩包,将得到的 phantomjs 可执行文件放到一个目录(例如 ~/phantomjs/

  3. 配置环境变量 将 PhantomJS 路径添加到系统环境变量中:

    # 编辑环境变量配置文件(根据你的shell选择)
    vi ~/.bash_profile  # 或 ~/.zshrc
    
    # 添加以下内容(路径替换为你的实际路径)
    export PATH="$PATH:~/phantomjs/bin"
    
    # 使配置生效
    source ~/.bash_profile  # 或 ~/.zshrc
    
  4. 验证安装 运行以下命令确认 PhantomJS 可正常使用:

    phantomjs --version
    
  5. 重新安装项目依赖 现在可以重新安装项目依赖,PhantomJS 会从本地路径读取而不是在线下载:

    npm install phantomjs-prebuilt --ignore-scripts
    

    加上 --ignore-scripts 参数可以跳过自动下载脚本,直接使用本地已安装的版本。

如果项目构建仍有问题,可能需要在项目配置中手动指定 PhantomJS 的路径,具体取决于你的构建工具(如 Webpack、Gulp 等)的配置方式。

Linux 验证安装phantomjs问题

[root@iZwz9iyhv8respfkq3pji8Z phantomjs-2.1.1-linux-x86_64]# phantomjs --version 
Auto configuration failed 140424648058688:error:0E079065:configuration file 
routines:DEF_LOAD_BIO:missing equal sign:conf_def.c:362:line 75

根据提供的错误信息 Auto configuration failed 和 missing equal sign:conf_def.c:362:line 75,这通常与 OpenSSL 3.x 版本的配置格式变更有关,而 PhantomJS 2.1.1 自带的或系统原有的 OpenSSL 版本(可能是 1.x)无法正确解析新格式的配置文

解决方案

执行:

export OPENSSL_CONF=/etc/ssl

其他指令

使用 npm 安装

npm install -g pnpm@6  # pnpm 6 是支持 Node.js 14 的最后一个主要版本

npm run dll

已经成功生成了 vendor-manifest.json 和 vendor.dll.js 文件

  1. 版本 nodejs:v14.21.3