NodeJS “darwin-arm 64 v8”二进制文件不能在“darwin-x64”平台上使用

64jmpszr  于 2022-11-04  发布在  Node.js
关注(0)|答案(5)|浏览(887)

我试图使用我的Mac M1部署功能到firebase,为此需要执行npm install以在node_modules/中安装包。我得到这个错误:

Error: 'darwin-arm64v8' binaries cannot be used on the 'darwin-x64' platform. Please remove the 'node_modules/sharp' directory and run 'npm install' on the 'darwin-x64' platform.
    at Object.hasVendoredLibvips (/Users/ali/Desktop/tajir/backend-mvp/appengine/back-end-flex/node_modules/sharp/lib/libvips.js:80:13)
    at Object.<anonymous> (/Users/ali/Desktop/tajir/backend-mvp/appengine/back-end-flex/node_modules/sharp/lib/constructor.js:7:22)
    at Module._compile (internal/modules/cjs/loader.js:1136:30)
    at Module._compile (pkg/prelude/bootstrap.js:1394:32)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1156:10)
    at Module.load (internal/modules/cjs/loader.js:984:32)
    at Function.Module._load (internal/modules/cjs/loader.js:877:14)
    at Module.require (internal/modules/cjs/loader.js:1024:19)
    at Module.require (pkg/prelude/bootstrap.js:1338:31)
    at require (internal/modules/cjs/helpers.js:72:18)
xurqigkl

xurqigkl1#

通常有Mac M1的人会有这个问题。Mac M1处理器是arm64。有一个解决方案发布了here,需要将终端架构更改为arch -x86_64 zsh,这是我不想做的。
所以,这就是我能够发现的变通办法(错误中也提到了一些步骤):

rm -rf node_modules/sharp
npm install --arch=x64 --platform=darwin sharp
hfyxw5xn

hfyxw5xn2#

对我来说,我所要做的就是:

brew reinstall vips

然后执行项目的干净安装。

8fq7wneg

8fq7wneg3#

我的答案与将函数部署到firebase无关,但我遇到了完全相同的错误:

Error: 'darwin-x64' binaries cannot be used on the 'darwin-arm64v8' platform. Please remove the 'node_modules/sharp' directory and run 'npm install' on the 'darwin-arm64v8' platform.

当我试图运行一个项目与mac M1使用的节点版本是不兼容的。
我试图用版本16运行项目,而实际上项目需要版本〈=14。
因此,如果有人遇到此问题,可能值得检查节点版本

mwngjboj

mwngjboj4#

由于某种原因,我得到了它修复与删除node_modules和安装他们再次。

Error: 'darwin-x64' binaries cannot be used on the 'darwin-arm64v8' platform. 
  Please remove the 'node_modules/sharp' directory and run 'npm install' on the 
  'darwin-arm64v8' platform.
6qfn3psc

6qfn3psc5#

我今天在本地启动Gatsby应用程序时遇到了这个错误。恢复到我在安装最初的Gatsby应用程序时使用的Node版本对我来说很有效。从Node v16切换到v14.20。

相关问题