Failing to install Expo-cli on mac

Hello, I am new to coding but thought it would be simple to get started with epo-cli, turned out I was wrong.
I followed the steps on expo to first download node v12.2.0. and Git. After installing this I tried;
npm install -g expo-cli , it did not work, and after looking around and testing other solutions, I have not gotten anywhere.
npm WARN deprecated joi@14.0.4: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated joi@11.4.0: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated hoek@4.2.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated topo@2.0.2: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated hoek@6.1.3: This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
npm WARN deprecated topo@3.0.3: This module has moved and is now available at @hapi/topo. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
/Users/Magnus/npm-global/bin/expo -> /Users/Magnus/npm-global/lib/node_modules/expo-cli/bin/expo.js
/Users/Magnus/npm-global/bin/expo-cli -> /Users/Magnus/npm-global/lib/node_modules/expo-cli/bin/expo.js

sharp@0.22.1 install /Users/Magnus/npm-global/lib/node_modules/expo-cli/node_modules/sharp
(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

info sharp Using cached /Users/Magnus/.npm/_libvips/libvips-8.7.4-darwin-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=13.0.1 runtime=node arch=x64 libc= platform=darwin)
TOUCH Release/obj.target/libvips-cpp.stamp
CXX(target) Release/obj.target/sharp/src/common.o
CXX(target) Release/obj.target/sharp/src/metadata.o
CXX(target) Release/obj.target/sharp/src/stats.o
…/src/stats.cc:130:19: error: no matching member function for call to ‘Set’
channels->Set(i, channelStat);
~~~~~~~~^
/Users/Magnus/Library/Caches/node-gyp/13.0.1/include/node/v8.h:3416:37: note:
candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe Set(Local context,
^
/Users/Magnus/Library/Caches/node-gyp/13.0.1/include/node/v8.h:3419:37: note:
candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe Set(Local context, uint32_t index,
^
1 error generated.
make: *** [Release/obj.target/sharp/src/stats.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 19.0.0
gyp ERR! command “/usr/local/bin/node” “/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” “rebuild”
gyp ERR! cwd /Users/Magnus/npm-global/lib/node_modules/expo-cli/node_modules/sharp
gyp ERR! node -v v13.0.1
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm WARN ts-pnp@1.1.4 requires a peer of typescript@* but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-darwin-ia32@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-darwin-ia32):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-darwin-ia32@2.2.8: wanted {“os”:“darwin”,“arch”:“ia32”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-freebsd-ia32@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-freebsd-ia32):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-freebsd-ia32@2.2.8: wanted {“os”:“freebsd”,“arch”:“ia32”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-freebsd-x64@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-freebsd-x64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-freebsd-x64@2.2.8: wanted {“os”:“freebsd”,“arch”:“x64”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-linux-arm@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-linux-arm):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-linux-arm@2.2.8: wanted {“os”:“linux”,“arch”:“arm”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-linux-arm64@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-linux-arm64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-linux-arm64@2.2.8: wanted {“os”:“linux”,“arch”:“arm64”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-linux-ia32@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-linux-ia32):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-linux-ia32@2.2.8: wanted {“os”:“linux”,“arch”:“ia32”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-linux-x64@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-linux-x64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-linux-x64@2.2.8: wanted {“os”:“linux”,“arch”:“x64”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-sunos-x64@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-sunos-x64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-sunos-x64@2.2.8: wanted {“os”:“sunos”,“arch”:“x64”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-win32-ia32@2.2.8-beta.1 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-win32-ia32):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-win32-ia32@2.2.8-beta.1: wanted {“os”:“win32”,“arch”:“ia32”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-win32-x64@2.2.8-beta.1 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-win32-x64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-win32-x64@2.2.8-beta.1: wanted {“os”:“win32”,“arch”:“x64”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/traveling-fastlane-linux@1.10.0 (node_modules/expo-cli/node_modules/@expo/traveling-fastlane-linux):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/traveling-fastlane-linux@1.10.0: wanted {“os”:“win32,linux”,“arch”:“any”} (current: {“os”:“darwin”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: sharp@0.22.1 (node_modules/expo-cli/node_modules/sharp):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: sharp@0.22.1 install: (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

Probably a simple mistake, but please tell me if it is. Thank you

Hi

It’s a bit difficult to follow what’s going on in your build, but there are a few suspicious things:

prebuild-install WARN install No prebuilt binaries found (target=13.0.1 runtime=node arch=x64 libc= platform=darwin)
[…]
gyp ERR! node -v v13.0.1

The “target=13.0.1” and “node -v v13.0.1” implies you’re actually running node version 13.0.1 and not 12.x. Perhaps you have more than one version of node installed and it’s using the wrong one? I suggest you uninstall node 13.0.1 and try again.

/Users/Magnus/npm-global/bin/expo -> /Users/Magnus/npm-global/lib/node_modules/expo-cli/bin/expo.js

This seems to imply that the expo command did actually install, but given the build error etc. it might not be a good idea to rely on it until everything builds successfully :slight_smile:

This helped, thanks. Unfortunately not all the way.
Ended up with this message:
npm WARN deprecated joi@14.0.4: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).

npm WARN deprecated joi@11.4.0: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).

npm WARN deprecated hoek@4.2.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).

npm WARN deprecated topo@2.0.2: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).

npm WARN deprecated hoek@6.1.3: This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

npm WARN deprecated topo@3.0.3: This module has moved and is now available at @hapi/topo. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

@expo/traveling-fastlane-darwin@1.10.0 preinstall /Users/Magnus/npm-global/lib/node_modules/expo-cli/node_modules/@expo/traveling-fastlane-darwin

node platform.js

/Users/Magnus/npm-global/bin/expo-cli -> /Users/Magnus/npm-global/lib/node_modules/expo-cli/bin/expo.js

/Users/Magnus/npm-global/bin/expo -> /Users/Magnus/npm-global/lib/node_modules/expo-cli/bin/expo.js

fsevents@1.2.9 install /Users/Magnus/npm-global/lib/node_modules/expo-cli/node_modules/fsevents

node install

node-pre-gyp WARN Using request for node-pre-gyp https download

[fsevents] Success: “/Users/Magnus/npm-global/lib/node_modules/expo-cli/node_modules/fsevents/lib/binding/Release/node-v72-darwin-x64/fse.node” is installed via remote

iltorb@2.4.4 install /Users/Magnus/npm-global/lib/node_modules/expo-cli/node_modules/iltorb

node ./scripts/install.js || node-gyp rebuild

info looking for cached prebuild @ /Users/Magnus/.npm/_prebuilds/0a8c51-iltorb-v2.4.4-node-v72-darwin-x64.tar.gz

http request GET https://github.com/MayhemYDG/iltorb/releases/download/v2.4.4/iltorb-v2.4.4-node-v72-darwin-x64.tar.gz

http 200 https://github.com/MayhemYDG/iltorb/releases/download/v2.4.4/iltorb-v2.4.4-node-v72-darwin-x64.tar.gz

info downloading to @ /Users/Magnus/.npm/_prebuilds/0a8c51-iltorb-v2.4.4-node-v72-darwin-x64.tar.gz.49020-e04898a734c14.tmp

info renaming to @ /Users/Magnus/.npm/_prebuilds/0a8c51-iltorb-v2.4.4-node-v72-darwin-x64.tar.gz

info unpacking @ /Users/Magnus/.npm/_prebuilds/0a8c51-iltorb-v2.4.4-node-v72-darwin-x64.tar.gz

info unpack resolved to /Users/Magnus/npm-global/lib/node_modules/expo-cli/node_modules/iltorb/build/bindings/iltorb.node

info unpack required /Users/Magnus/npm-global/lib/node_modules/expo-cli/node_modules/iltorb/build/bindings/iltorb.node successfully

info install Successfully installed iltorb binary!

sharp@0.22.1 install /Users/Magnus/npm-global/lib/node_modules/expo-cli/node_modules/sharp

(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

info sharp Using cached /Users/Magnus/.npm/_libvips/libvips-8.7.4-darwin-x64.tar.gz

core-js@2.6.10 postinstall /Users/Magnus/npm-global/lib/node_modules/expo-cli/node_modules/core-js

node postinstall || echo “ignore”

npm WARN ts-pnp@1.1.4 requires a peer of typescript@* but none is installed. You must install peer dependencies yourself.

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-darwin-ia32@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-darwin-ia32):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-darwin-ia32@2.2.8: wanted {“os”:“darwin”,“arch”:“ia32”} (current: {“os”:“darwin”,“arch”:“x64”})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-freebsd-ia32@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-freebsd-ia32):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-freebsd-ia32@2.2.8: wanted {“os”:“freebsd”,“arch”:“ia32”} (current: {“os”:“darwin”,“arch”:“x64”})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/traveling-fastlane-linux@1.10.0 (node_modules/expo-cli/node_modules/@expo/traveling-fastlane-linux):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/traveling-fastlane-linux@1.10.0: wanted {“os”:“win32,linux”,“arch”:“any”} (current: {“os”:“darwin”,“arch”:“x64”})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-win32-x64@2.2.8-beta.1 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-win32-x64):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-win32-x64@2.2.8-beta.1: wanted {“os”:“win32”,“arch”:“x64”} (current: {“os”:“darwin”,“arch”:“x64”})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-win32-ia32@2.2.8-beta.1 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-win32-ia32):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-win32-ia32@2.2.8-beta.1: wanted {“os”:“win32”,“arch”:“ia32”} (current: {“os”:“darwin”,“arch”:“x64”})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-sunos-x64@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-sunos-x64):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-sunos-x64@2.2.8: wanted {“os”:“sunos”,“arch”:“x64”} (current: {“os”:“darwin”,“arch”:“x64”})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-linux-x64@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-linux-x64):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-linux-x64@2.2.8: wanted {“os”:“linux”,“arch”:“x64”} (current: {“os”:“darwin”,“arch”:“x64”})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-linux-arm64@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-linux-arm64):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-linux-arm64@2.2.8: wanted {“os”:“linux”,“arch”:“arm64”} (current: {“os”:“darwin”,“arch”:“x64”})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-linux-ia32@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-linux-ia32):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-linux-ia32@2.2.8: wanted {“os”:“linux”,“arch”:“ia32”} (current: {“os”:“darwin”,“arch”:“x64”})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-linux-arm@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-linux-arm):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-linux-arm@2.2.8: wanted {“os”:“linux”,“arch”:“arm”} (current: {“os”:“darwin”,“arch”:“x64”})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @expo/ngrok-bin-freebsd-x64@2.2.8 (node_modules/expo-cli/node_modules/@expo/ngrok-bin-freebsd-x64):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-freebsd-x64@2.2.8: wanted {“os”:“freebsd”,“arch”:“x64”} (current: {“os”:“darwin”,“arch”:“x64”})

I have tried ‘npm install’ but still not reaching the finish line.
My idea is that something is missing, any thoughts?

Hi. Please post stuff like this as follows to make it easier to read:

```
output
here
```

The “SKIPPING OPTIONAL DEPENDENCY” lines are just useless noise. They are just saying that npm is not going to install versions of certain dependencies that are for other operating systems.

The “joi”, “hoek”, “topo” warnings are unfortunately normal. They are not ideal, but safe to ignore.
It looks to me like the installation worked :slight_smile:

Give it a try by running expo init your-app-name.

Expo will create a directory called your-app-name and set up the app inside it after prompting you for some information.

1 Like

This worked, thank you for helping out a rookie :smiley:

1 Like

No problem. Glad I could help :slight_smile: