Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install macOS m1 cpu #1636

Open
wnghdcjfe opened this issue Jul 5, 2021 · 9 comments
Open

Cannot install macOS m1 cpu #1636

wnghdcjfe opened this issue Jul 5, 2021 · 9 comments

Comments

@wnghdcjfe
Copy link

When I install nightmare in macOS (m1 CPU)
It is not working like this.
How can I fix it?
KakaoTalk_20210705_153014335

@vsinha
Copy link

vsinha commented Jul 21, 2021

Encountered the same, I think the old version of Electron being used doesn't (didn't) have arm64 builds. Updating to a new version of electron should work

~ $ npm --version
7.20.0

~ $ npm list electron
viraj@ /Users/viraj
└── [email protected]

~ $ uname -a
Darwin Virajs-MacBook-Pro.local 20.5.0 Darwin Kernel Version 20.5.0: Sat May  8 05:10:31 PDT 2021; root:xnu-7195.121.3~9/RELEASE_ARM64_T8101 arm64

~ $ npm install nightmare
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: not actively maintained; find alternatives
npm WARN deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm ERR! code 1
npm ERR! path /Users/viraj/node_modules/nightmare/node_modules/electron
npm ERR! command failed
npm ERR! command sh -c node install.js
Downloading electron-v2.0.18-darwin-arm64.zip
npm ERR! Error: GET https://github.com/electron/electron/releases/download/v2.0.18/electron-v2.0.18-darwin-arm64.zip returned 404
npm ERR! /Users/viraj/node_modules/nightmare/node_modules/electron/install.js:54
npm ERR!   throw err
npm ERR!   ^
npm ERR!
npm ERR! Error: Failed to find Electron v2.0.18 for darwin-arm64 at https://github.com/electron/electron/releases/download/v2.0.18/electron-v2.0.18-darwin-arm64.zip
npm ERR!     at Request.<anonymous> (/Users/viraj/node_modules/nugget/index.js:169:61)
npm ERR!     at Request.emit (node:events:369:20)
npm ERR!     at Request.onRequestResponse (/Users/viraj/node_modules/request/request.js:1059:10)
npm ERR!     at ClientRequest.emit (node:events:369:20)
npm ERR!     at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:646:27)
npm ERR!     at HTTPParser.parserOnHeadersComplete (node:_http_common:129:17)
npm ERR!     at TLSSocket.socketOnData (node:_http_client:512:22)
npm ERR!     at TLSSocket.emit (node:events:369:20)
npm ERR!     at addChunk (node:internal/streams/readable:313:12)
npm ERR!     at readableAddChunk (node:internal/streams/readable:288:9)

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/viraj/.npm/_logs/2021-07-21T02_30_07_552Z-debug.log

@carter-dewey-wapo
Copy link

Would love a fix to this problem.

@wjpurdum
Copy link

Updating to the latest version of nightmare doesn't work. It still uses a version of electron that is too old for M1.

@rayhomie
Copy link

rayhomie commented Mar 5, 2022

Can this problem be solved ?😒

@betogzo
Copy link

betogzo commented Mar 25, 2022

frustrating... but trying to solve this issue i found "puppeteer" and it works just fine. rip nightmare

@viperet
Copy link

viperet commented Apr 22, 2022

Just found a solution - you have to install it using npm install --arch=x64, and it runs perfectly using Rosetta 2.

@aq1018
Copy link

aq1018 commented Oct 3, 2022

I think a proper solution is to bump the electron version to the one that supports m1 cpu? Electron 2.0.18 was released 4 years ago and the latest version is 21.0.1

@wilfredjonathanjames
Copy link

This is a pretty big deal with a seemingly simple fix. Considering it hasn't been addressed, does this mean nightmare is a dead project?

@JRJurman
Copy link

JRJurman commented Jul 8, 2023

Was able to solve this by using npm's overrides (described here). If you use "electron": "^11.0.0",, that is compatible with M1, and works with Nightmare's existing API (as far as I can tell).

  "devDependencies": {
    "electron": "^11.0.0",
    "nightmare": "^3.0.2"
  },
  "overrides": {
    "nightmare": {
      "electron": "$electron"
    }
  }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

10 participants