Closed
Description
After I added sentry I am getting this error while building project.
PhaseScriptExecution Bundle\ React\ Native\ code\ and\ images /Users/khagesh/Library/Developer/Xcode/DerivedData/CP-awyselqwjoqrjfeypmvugdxlaeoa/Build/Intermediates/CP.build/Debug-iphonesimulator/CP.build/Script-00DD1BFF1BD5951E006B06BC.sh
export ...
.........
/bin/sh -c /Users/khagesh/Library/Developer/Xcode/DerivedData/CP-awyselqwjoqrjfeypmvugdxlaeoa/Build/Intermediates/CP.build/Debug-iphonesimulator/CP.build/Script-00DD1BFF1BD5951E006B06BC.sh
env: node: No such file or directory
react-native
: 0.44
react-native-sentry
: 0.14.3
Xcode version
: 8.3.3
I am using bitcode, but I don't think it should fail build.
I believe I followed all steps correctly of setting up sentry and checked sentry.properties file which has all things that are needed.
Any help will be much appreciated. Thanks!
Activity
kumasento commentedon Jul 7, 2017
khagesh commentedon Jul 7, 2017
yes, I have node.js 6.9.0
kumasento commentedon Jul 7, 2017
As your error log suggests, the error came out from running
/usr/bin/env node
, which aims at getting the executablenode
program.Maybe you can try to run
/usr/bin/env node
in a terminal and see how it goes.khagesh commentedon Jul 7, 2017
I ran
/usr/bin/env node
in terminal and I can go tonode command prompt
. I typedconsole.log
and it worked. I think something is missing with the paths of script that was set by sentry. It is just a guess.Unfortunately I don't know much about build phase and how to add or debug custom scripts. If there is some path which I can follow to debug it. That would help me.
grigored commentedon Jul 11, 2017
Spent few hours trying to solve this. It was weird that the file mentioned actually did exist (in your case
/Users/khagesh/Library/Developer/Xcode/DerivedData/CP-awyselqwjoqrjfeypmvugdxlaeoa/Build/Intermediates/CP.build/Debug-iphonesimulator/CP.build/Script-00DD1BFF1BD5951E006B06BC.sh
), but the paths in it were wrong.In my case, I had react native 0.46.1.
See this pull request https://github.com/getsentry/react-native-sentry/pull/139/files
Basically what I did is replace in all the project (it was in around 3 files)
node_modules/react-native/packager/react-native-xcode.sh
withnode_modules/react-native/scripts/react-native-xcode.sh
khagesh commentedon Jul 12, 2017
That is true for react native 0.46+. However, I don't think it is solution for the problem in general. Also, I am using react native 0.44 and unfortunately we are not planning an upgrade as of now. But the good news for me is that I solved my issue and also found out the seeming root cause after learning about custom build phases in xcode project.
Here is what I did to resolve my issue. Since
sentry-cli
is not a bash script, it is a node script. I addednode
in front ofsentry-cli
command and that resolved my issue withBundle React Native Code And Images
phase.What react-native-sentry updated
I changed it to add
node
After resolving this issue I faced same issue with
Upload Debug Symbols to Sentry
phase. So I addednode
in front of this script as well. However, this time I got the error thatnode
command not found. It was strange since same script was working onBundle
phase. So, to resolve this issue I created a bash script of my own. Basically I sourcednvm
again and set node in same script and then executed upload command. My script looks something like thisAnd then I replaced build phase with something like this and everything started working.
Root cause for all of these issues that I strongly believe is how
node
is setup. Ifnode
is being setup usingbrew
then default script provided byreact-native-sentry
will work. But ifnode
is being setup withnvm
, then we will face these issues. To confirm my theory I took help from my colleague who was usingnode
usingbrew
and without any change in build phase script his project was compiling just fine.As to why I had to create a bash script for
upload
phase and not just addingnode
worked. I don't have the slightest of idea. I tried few possible reason but couldn't come up with strong reason. Anyway I have fixed it for me as of now. I don't know if we need to update docs orreact-native-sentry
link step to update script.wellyshen commentedon Jul 12, 2017
I'm using nvm and I have the same issue during xCode building.
grigored commentedon Jul 12, 2017
did you recently update to react native >0.46?
wellyshen commentedon Jul 13, 2017
@grigored Yes, I'm using 0.46.1. This's not my first time to meet this error, it also occurs on RN 0.45 and I'm stilling waiting for the official fixing :(
benhowes commentedon Jul 14, 2017
I've also found that using node through NVM was a problem and installed using brew. NVM node works fine under linux for android builds however
ciriac commentedon Jul 20, 2017
@benhowes Thanks for this. In the end switching to node using Brew is what fixed it for me.
HazAT commentedon Jul 25, 2017
It seems this is the way to fix it if you are using
nvm
Similar to what @khagesh posted
facebook/react-native#3935
I will close this for now since this is unrelated to Sentry, more about node/mac/Xcode
22 remaining items