Comments (24)
If it helps, offending line was:
shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport NODE_BINARY=node\n../node_modules/@sentry/cli/bin/sentry-cli react-native xcode \\\n../node_modules/react-native/scripts/react-native-xcode.sh\n";
Had to remove the \\
from \\\n
from https://www.npmjs.com/package/@sentry/react-native
from react-native-version.
In our case it was newest react with @sentry/react-native having offending lines in shell script (copied from official Sentry documentation about workaround for RN >0.69)
Here is the working shell script line in case anyone needs it:
/bin/sh -c "$WITH_ENVIRONMENT '$SENTRY_CLI_PATH react-native xcode $REACT_NATIVE_XCODE'"
from react-native-version.
Found the issue, the problem comes from React Native made in Windows that will have backslashed paths inside pbxproj. It's not a problem from your package at all @stovmascript .
Check strings that are like this:
"\"$(SRCROOT)/$(TARGET_NAME)\"",
or
"$(SRCROOT)\..\node_modules\react-xxxx",
and change them to
"$(SRCROOT)/$(TARGET_NAME)",
accordingly
"$(SRCROOT)/../node_modules/react-xxxx",
from react-native-version.
If it helps, offending line was:
shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport NODE_BINARY=node\n../node_modules/@sentry/cli/bin/sentry-cli react-native xcode \\\n../node_modules/react-native/scripts/react-native-xcode.sh\n";
Had to remove the
\\
from\\\n
your command line appers like this?
shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport NODE_BINARY=node\n../node_modules/@sentry/cli/bin/sentry-cli react-native xcode \n../node_modules/react-native/scripts/react-native-xcode.sh\n";
from react-native-version.
Facing the same problem after adding a custom build script, have been using the library without any issues for a year, but stuck now. Lots of backslashes in the script to escape quotes and spaces, so not sure how to fix it.
EDIT: I've created an issue in pbxproj-dom
to see if they have any ideas on a fix
from react-native-version.
It's just because Windows uses \
instead of /
for paths and when paths are written to pbxproj when using react-native link
, they will contain backslashes, it still works when your compile on a Mac, but it will crash with the pbxproj-dom parser package that you use. You could maybe add a "Common issues" page on your README for future users.
from react-native-version.
I'm experiencing this issue with Sentry.
I suspect this line is causing the problem, but I don't know how to fix it:
shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\"\nset -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT \\\"../node_modules/@sentry/cli/bin/sentry-cli react-native xcode $REACT_NATIVE_XCODE\\\"\"\n\n/bin/sh ../node_modules/@sentry/react-native/scripts/collect-modules.sh\n";
Any way to solve this?
from react-native-version.
i have the same error on MacOs now. any one fixed this please ?
from react-native-version.
i have the same error on MacOs now. any one fixed this please ?
were you able to fix it?
from react-native-version.
SyntaxError: Expected """, "\'", "\"", "\n", or [^\\"] but "\" found.
similar to above it was Sentry shell script. I am on a mac.
shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport ....."
in several places I had to replace $WITH_ENVIRONMENT \\\
with $WITH_ENVIRONMENT \
and $REACT_NATIVE_XCODE\\\
with $REACT_NATIVE_XCODE\
from react-native-version.
Looks similar to: #38 (comment) and: #38 (comment)
from react-native-version.
@aruldd Is it possible you have manually set up some paths in your Xcode project file?
from react-native-version.
@VinceBT Awesome, I'll capture this message and print out something more meaningful.
from react-native-version.
@VinceBT I also suspect that it's more of an issue with react-native link
because a newly initialized project doesn't have any $(SRCROOT)
strings yet. Which would explain why everything worked for me in: #38 (comment).
from react-native-version.
@aruldd Tell us if it worked for you so @stovmascript can close
from react-native-version.
I'm getting this issue when running on Mac OSX, is that expected? I'm on 3.2.0
from react-native-version.
Yeah there seems to be some paths in pbxproj that cocoapods installs that has the windows syntax as well. Had to go in and edit them manually, now it works. This does happen on macs as well apparently, might wanna update docs.
from react-native-version.
Hmm, this seems like a bug with cocoapods, or even some specific packages. I'm wondering if we could find the offending upstream code and report it...
from react-native-version.
Or we could patch pbxproj-dom
or find an alternative.
from react-native-version.
I have a more "funny" case. My error was "SyntaxError: Expected """, "\'", "\"", "\n", or [^\\"] but "\" found.", so I searched for \ in the project.pbxproj and the only place where it was present was
shellScript = "# Name of the resource we're selectively copying\nFILENAME=GoogleService-Info.plist\n\nBUILD_TYPE=$(echo ${CONFIGURATION} | sed -E \"s/\\s*(Release|Debug) \\s*//\")\nORIGINAL_PATH=${PROJECT_DIR}/${TARGET_NAME}/Firebase/${BUILD_TYPE}/${FILENAME}\nDESTINATION_DIR=${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\n\n# Make sure the prod version of GoogleService-Info.plist exists\necho \"Looking for ${ORIGINAL_PATH}\"\nif [ ! -f $ORIGINAL_PATH ]\nthen\n echo \"No ${FILENAME} found for build type ${BUILD_TYPE}. Please ensure it's in the proper directory.\"\n exit 1\nfi\n\necho \"Will copy ${ORIGINAL_PATH} to final destination: ${DESTINATION_DIR}\"\n\ncp \"${ORIGINAL_PATH}\" \"${DESTINATION_DIR}\"\n";
So basically it failed parsing the shell script, which is kind of weird. I removed this script and the error was gone, so it's this indeed.
I will change my script to fix this, but it shouldn't have happened in the first place.
from react-native-version.
Just to clarify though -- I'm facing this issue on macOS. Here's the exact error:
[RNV] SyntaxError: Expected ",", "/*", or [ \t\n\r] but "B" found.
EDIT: Managed to resolve the issue by checking through my build settings and removing some \
characters as suggested
from react-native-version.
I have fixed this issue by moving the script, which caused the error, from project.pbxproj
to separate .sh
file and then just added a reference to that file. Also you should make your sh
file executable by chmod +x script.sh
from react-native-version.
Here is the final version of working shellScript in Sentry v5 and RN v0.71
shellScript = "set -e\nexport SENTRY_PROPERTIES=sentry.properties\nexport EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\"\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\nSENTRY_CLI_PATH=\"../node_modules/@sentry/cli/bin/sentry-cli\"\n/bin/sh -c \"$WITH_ENVIRONMENT $SENTRY_CLI_PATH react-native xcode\n$REACT_NATIVE_XCODE\"\n/bin/sh ../node_modules/@sentry/react-native/scripts/collect-modules.sh\n";
from react-native-version.
Faced the same issue with Mac. Resolved with changing
shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-tracemoe_react_native/expo-configure-project.sh\"\n";
to
shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target' 'Support' 'Files/Pods-tracemoe_react_native/expo-configure-project.sh\"\n";
The key: \\
to ' '
Root reason - the file path with space in it.
from react-native-version.
Related Issues (20)
- increse buildNumber on hot reload HOT 1
- Just to verify: there is NO option to NOT let the tool commit into git? HOT 2
- increase with widget targers version
- Command failed with exit code 127
- Support for multiple info plist files?
- npm version [major/minor/patch] is not updating all the files
- I don't want to increase verssion on all Project HOT 2
- fatal: No names found, cannot describe anything. HOT 1
- SUPPORT
- Support iOS Extensions target HOT 2
- Cannot increase only build number
- Change version for a specific IOS target
- Rely on an argument for expo and react-native projects
- versionName and CFBundleShortVersionString dont output the expected inputs
- Fails when xCode has more targets (multiple Info.plis)
- What's an alternative to this package? HOT 2
- Need monorepo support
- How can I also customize updating files to add for example updating OneSignal version and build Id ?
- Add --skip-expo option to skip Expo versioning even if detected HOT 1
- SyntaxError: Expected "\"", "\\'", "\\\"", "\\n", or [^\\"] but "\\" found. HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-version.