Mac M1(arm 系列芯片)如何安装 Chromium | Puppeteer

这篇具有很好参考价值的文章主要介绍了Mac M1(arm 系列芯片)如何安装 Chromium | Puppeteer。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近写个脚本用到 puppeteer,然后安装 Chromium 出现一点问题,这里记录一下解决方案。

Puppeteer 自动安装失败

在 Puppeteer 安装时会自动安装 Chromium,然而却总是报错 502 导致下载失败,直接下载可以下载,命令行 wget 也可以,猜测是因为 Puppeteer 开启了新的 process 来安装导致环境变量丢失,然后就玄学上网失败了。

这会回头看了看 Puppeteer 的安装脚本,好像可以使用 npm_config_https_proxy 等配置来玄学上网。

function overrideProxy() {
    // Override current environment proxy settings with npm configuration, if any.
    const NPM_HTTPS_PROXY = process.env['npm_config_https_proxy'] || process.env['npm_config_proxy'];
    const NPM_HTTP_PROXY = process.env['npm_config_http_proxy'] || process.env['npm_config_proxy'];
    const NPM_NO_PROXY = process.env['npm_config_no_proxy'];
    if (NPM_HTTPS_PROXY) {
        process.env['HTTPS_PROXY'] = NPM_HTTPS_PROXY;
    }
    if (NPM_HTTP_PROXY) {
        process.env['HTTP_PROXY'] = NPM_HTTP_PROXY;
    }
    if (NPM_NO_PROXY) {
        process.env['NO_PROXY'] = NPM_NO_PROXY;
    }
}

不过当时没看就直接打算手动安装 Chromium 了,要手动安装在安装 Puppeteer 时需要先关闭自动下载:

PUPPETEER_SKIP_DOWNLOAD='true' pnpm add puppeteer

这样就可以跳过 Puppeteer 中自动的 Chromium 安装。

手动安装 Chromium

失败尝试

手动安装首先是使用了 homebrew 的方式,但是由于之前玩 Stable Diffusion 一些依赖包的兼容问题,我的 homebrew 切到了 x86 版本,所以安装后的是 intel 芯片版本的 Chromium,导致无法打开,打开就会显示弹窗:

You can’t open the application “Chromium” because this application is not supported on this Mac.

无奈就去官网: https://download-chromium.appspot.com/ 手动下载,结果不成想官网挂的也是 intel 版本:

不死心的下载试了一下,果然不行。

成功安装

然后无奈的搜了一下,发现了这个问题: https://stackoverflow.com/questions/66002337/is-the-homebrew-chromium-m1-optimised ,其中提及到 homebrew 中安装的脚本:

 arch = Hardware::CPU.intel? ? "Mac" : "Mac_Arm"
 ...
 url "https://commondatastorage.googleapis.com/chromium-browser-snapshots/#{arch}/#{version}/chrome-mac.zip

原来只需要将地址中的架构类型变更更换为想要的版本就可以了。

而官网对应的下载地址是: https://download-chromium.appspot.com/dl/Mac?type=snapshots ,所以我将其中的 Mac 替换为 Mac_Arm 得到如下地址: https://download-chromium.appspot.com/dl/Mac_Arm?type=snapshots ,打开果然成功下载了。

下载完成后解压,就拿到了 Arm 版本的 Chromium。 然而打开时又出现了新的问题:

Chromium is damaged and can't be opened. You should move it to the Trash.

遇到这个报错必须要移除对应的验证:

xattr -c /Applications/Chromium.app

好了,终于可以打开了,可喜可贺。

API Keys missing

然而当我打开后又发现 Chromium 上飘着一行提示:

Google API Keys are missing. Some functionality of chromium will be disabled.

不过此时的 Chromium 已经可以正常使用了,但是子曾经曰过:“遇到问题不能坐以待毙”,还是处理下好了。

查了一下原因是 Chromium 的一些功能如 Google 账号同步等等需要使用 Google API Keys,要处理这个提示大体是两种思路:

  1. 可以选择禁用这个提示,但是这样 Chromium 的一些功能也就无法使用了。
  2. 申请 Google API keys,并填入。

如果想要禁用提示可以编辑 Chromium.app > Contents > Info.plist 文件并添加以下内容:

<key>LSEnvironment</key>
<dict>
    <key>GOOGLE_API_KEY</key>
    <string>no</string>
    <key>GOOGLE_DEFAULT_CLIENT_ID</key>
    <string>no</string>
    <key>GOOGLE_DEFAULT_CLIENT_SECRET</key>
    <string>no</string>
</dict>

而如果想要填入 Google API Keys 则需要去 Google Cloud 申请 API Keys,具体的流程可以参考: https://www.chromium.org/developers/how-tos/api-keys/#acquiring-keys

还有一种方法就是直接使用网上流出的 API Keys,比如这个:

export GOOGLE_API_KEY="AIzaSyCkfPOPZXDKNn8hhgu3JrA62wIgC93d44k"
export GOOGLE_DEFAULT_CLIENT_ID="811574891467.apps.googleusercontent.com"
export GOOGLE_DEFAULT_CLIENT_SECRET="kdloedMFGdGla2P1zacGjAQh"

在 bash 执行上述代码将 API Keys 设置到环境变量重启 Chromium 即可生效。

但是一定需要注意 ⚠️:使用了 API Keys 可能会导致数据信息泄漏问题,所以如果有敏感信息切勿使用他人提供的 Key!!!

在 Puppeteer 中使用

由于 Chromium 不是由 Puppeteer 安装的,所以 Puppeteer 会找不到 Chromium 位置,需要在 Puppeteer 的配置文件中添加 executablePath 来指定 Chromium 的位置:文章来源地址https://www.toymoban.com/news/detail-427433.html

const { join } = require('path');

/**
 * @type {import("puppeteer").Configuration}
 */
module.exports = {
    // Changes the cache location for Puppeteer.
    cacheDirectory: join(__dirname, '.cache', 'puppeteer'),
    executablePath: '/Applications/Chromium.app/Contents/MacOS/Chromium'
};

参考资料

  • https://stackoverflow.com/questions/66002337/is-the-homebrew-chromium-m1-optimised
  • https://stackoverflow.com/questions/21276763/google-api-keys-missing-warning-message-when-using-chromium-portable
  • https://groups.google.com/a/chromium.org/g/chromium-dev/c/cTPJG7KnBpI?pli=1
  • https://www.chromium.org/developers/how-tos/api-keys/#acquiring-keys

到了这里,关于Mac M1(arm 系列芯片)如何安装 Chromium | Puppeteer的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MAC(适用于M1,M2芯片)下载Java8(官方 ARM64 JDK1.8)安装、配置环境,支持动态切换JDK

    官方下载地址 https://www.oracle.com/cn/java/technologies/downloads/ 这个是官方新发布的适配了M1、M2芯片的ARM64版本的jdk8,再也不用去第三方下载了,也不用满世界的去找第三方jdk缺少的jar包了,而且更快更强!! 可以下载免安装版, 这样就可以配置多个版本的jdk了,配置如下 使配置

    2024年02月08日
    浏览(113)
  • XZ_iOS 之 M1 M2 M3的M系列芯片的Mac苹果电脑安装cocoapods

    安装的前提,应用程序-终端-右键-显示简介-勾选 使用Rosetta打开,如下图,然后重启终端 安装的顺序如下:Homebrew-rvm-ruby-cocoapods 1、安装Homebrew 安装的时候报了以下错误,然后我打开了VPN,就很顺滑的安装了 fatal: unable to access \\\'https://github.com/Homebrew/brew/\\\': Failed to connect to gith

    2024年01月18日
    浏览(62)
  • mac M1 arm芯片 进行docker rocketMq 本地部署(亲测可用)

    由于mac arm芯片的问题,导致随便拉取镜像会出现AMD64的警告,如果不想出现则可以 git clone https://github.com/apache/rocketmq-docker.git 拉代码自己编译镜像 下面是根据别人已经上传的镜像进行的本地部署操作 下面两个镜像都是某位老哥打包的,测试无问题 注意: runserver.sh,runbr

    2024年02月12日
    浏览(49)
  • mac m1芯片如何使用gpu

    2022年5月,PyTorch官方宣布已正式支持在M1芯片版本的Mac上进行模型加速。官方对比数据显示,和CPU相比,M1上炼丹速度平均可加速7倍。 因为 Mac M1芯片不是一个单纯的一个CPU芯片,而是包括了CPU(中央处理器),GPU(图形处理器),NPU(神经网络引擎),以及统一内存单元等众多组件的

    2024年02月10日
    浏览(53)
  • mac m1芯片 pycharm使用etree报错:incompatible architecture(have ‘x86_64‘, need ‘arm64e‘)

    背景: 相同的代码,在同事mac电脑上运行正常,自己电脑会报错。自己电脑上的相关信息: mac m1 芯片,使用homebrew安装python3.9 pycharm配置虚拟环境,使用homebrew安装的python 运行 from lxml import etree报错: mach-o file, but is an incompatible architecture (have \\\'x86_64\\\', need \\\'arm64e\\\') [如图所示] 【

    2024年02月10日
    浏览(56)
  • Mac M1芯片安装es,kibana

    安装:brew search elasticsearch    //查看版本 brew install elastic/tap/ elasticsearch-full  //安装这个full版本 。。。等待安装 启动:cd /opt/homebrew/bin           ./elasticsearch 访问: http://localhost:9200/ 安装:brew search kibana    //查看版本 brew install elastic/tap/kibana-full //安装这个full版本 。。。

    2024年02月05日
    浏览(77)
  • 支持Mac M1芯片的安卓模拟器安装

    首先需要说明,市场上的模拟器都是安卓,没有 IOS 模拟器,因为 IOS 系统不开源,安卓系统开源 安卓模拟器支持 M1 的,貌似目前 mumu 和夜神这两大主流的安卓模拟器还不支持 M1,目前只有谷歌官方提供的可以用 仓库地址:https://github.com/google/android-emulator-m1-preview 去其中资产

    2024年02月11日
    浏览(51)
  • Mac M1芯片安装PyTorch、GPU加速环境

    安装PyTorch前先看一下(最好也安装一下)安装Tensorflow这篇文章 通过App store安装或者使用命令 $ xcode-select --install 安装 Pytorch官网指导页面 通过上述方式安装的PyTorch可能自带的Numpy太低,所以重新安装Numpy: 或者 使用“conda list”可以查看此conda环境内的包和各个包的版本。使用

    2023年04月26日
    浏览(47)
  • mac的m1芯片安装nvm踩坑完全版

    我是按照知乎大神的方法安装的,过程中仍然有坑 首先: 知乎大神的方法安装 踩坑开始: 使用zsh brew一直装不了(原因未知) .zshrc文件无法创建 mkdir .zshrc 创建成了名为.zshrc 的文件夹而不是文件,这时候启用vi vi .zshrc(vi + 文件名称,如果不存在这个文件,就新建文件,存

    2024年02月09日
    浏览(42)
  • UTM安装Windows(适用于M1芯片的Mac)

    在Arm架构的M1芯片的mac上安装Windows7,步骤如下: 1.在UTM官网下载UTM.dmg,下载完后将其拖进应用程序,然后打开UTM。 2.下载windows7安装准备程序,下载地址: Windows 7 | UTM  点击下载即可下载windows7安装准备程序,下载完毕后双击打开即可在UTM界面生成安装准备选项。 3.准备wi

    2024年02月07日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包