openwallet-foundation / bifold-wallet

Aries Mobile Agent React Native - Part of the Aries Bifold effort to provide SSI capabilities in a production ready app.
Apache License 2.0
154 stars 150 forks source link

"aries-framework-javascript-v1.0.0.tgz seems to be corrupted" when running "npm install" #39

Closed jasoncys closed 3 years ago

jasoncys commented 3 years ago

Hi, when I tried to run "npm install" () according to "Running the App" for aries-mobile-agent-reacy-native on MacOS BigSur, I got the following error:

npm WARN tarball tarball data for aries-framework-javascript@file:/Users/myself/aries-mobile-agent-react-native/aries-framework-javascript-v1.0.0.tgz (sha512-yu8/bKnMmXzZ6/PGNWGrWfByWXmIxsfYE3Tn+RmW2i5fS2LD7qX4hyklGv5WVJGAGzxekXothOCgIK6eHCeHvg==) seems to be corrupted. Trying again. npm WARN tarball tarball data for aries-framework-javascript@file:/Users/myself/aries-mobile-agent-react-native/aries-framework-javascript-v1.0.0.tgz (sha512-yu8/bKnMmXzZ6/PGNWGrWfByWXmIxsfYE3Tn+RmW2i5fS2LD7qX4hyklGv5WVJGAGzxekXothOCgIK6eHCeHvg==) seems to be corrupted. Trying again. npm ERR! code EINTEGRITY npm ERR! sha512-yu8/bKnMmXzZ6/PGNWGrWfByWXmIxsfYE3Tn+RmW2i5fS2LD7qX4hyklGv5WVJGAGzxekXothOCgIK6eHCeHvg== integrity checksum failed when using sha512: wanted sha512-yu8/bKnMmXzZ6/PGNWGrWfByWXmIxsfYE3Tn+RmW2i5fS2LD7qX4hyklGv5WVJGAGzxekXothOCgIK6eHCeHvg== but got sha512-85/KPHodPLGFhDGbWZ9rEHl+VhsKXAaxT1JXNrOHdTp1N6cpyLT0RvItzg9HuhY2sgkt+kiucFF151gD1kNhFg==. (215984 bytes)

I've reinstalled npm using brew. Here is the version information: npm: 7.7.6 node: 15.14.0 watchman: 4.9.0 pod: 1.10.1 MacOS: 11.2.3

Is there anything that I'm missing? Thanks in advance.

Cheers, Jason

TimoGlastra commented 3 years ago

We're in the process of releasing aries framework javascript to NPM which should solve this issue.

For now you can solve this by removing the node_modules directory and the package-lock.json file.

If it still doesn't work, do the same as above, but first clear your NPM cache: npm cache clean --force

JamesKEbert commented 3 years ago

@TimoGlastra IIRC your most recent PR would potentially fix this as well?

jasoncys commented 3 years ago

@TimoGlastra thanks for the comments. I managed to get pass "npm install" by using "npm install --force" with "package-lock.json" renamed. Then I got pass "pod install" with some warnings. When I tried to run the app using "npm run ios MyIphone", I got the following error:

error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening AriesBifold.xcworkspace.

When I tried to build the app in Xcode, I encountered the following error:

Target Integrity Building for iOS Simulator, but the linked and embedded framework 'Indy.framework' was built for iOS.

I fixed the error by "setting Validate Workspace to Yes in the Build Settings tab" https://stackoverflow.com/questions/63267897/building-for-ios-simulator-but-the-linked-framework-framework-was-built

Then I tried to but the app in Xcode and I encountered the following error: `Module map file '/Users/myself/Library/Developer/Xcode/DerivedData/AriesBifold-fmzurszqledrugbrzpflcnwqpgtf/Build/Products/Debug-iphonesimulator/rn-indy-sdk/rn_indy_sdk.modulemap' not found

Failed to emit precompiled header '/Users/Jason/Library/Developer/Xcode/DerivedData/AriesBifold-fmzurszqledrugbrzpflcnwqpgtf/Build/Intermediates.noindex/PrecompiledHeaders/AriesBifold-Bridging-Header-swift_15H2KKTG5ASMF-clang_2FZPMUW16POBQ.pch' for bridging header '/Users/Jason/Projects/Aries/aries-mobile-agent-react-native/ios/AriesBifold-Bridging-Header.h'`

And I checked that the "rn-indy-sdk" directory is missing under "/Users/myself/Library/Developer/Xcode/DerivedData/AriesBifold-fmzurszqledrugbrzpflcnwqpgtf/Build/Products/Debug-iphonesimulator/".

When I tried with "npm run ios MyIphone" in terminal, I received the following error:

`error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening AriesBifold.xcworkspace. Run CLI with --verbose flag for more details. Command line invocation: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace AriesBifold.xcworkspace -configuration Debug -scheme AriesBifold -destination id=904d6069cd9e549c057138c96f40379f6fd227df

note: Using new build system note: Planning build note: Constructing build description warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99. (in target 'boost-for-react-native' from project 'Pods') error: No signing certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID "8GUD26WFN3" with a private key was found. (in target 'AriesBifoldTests' from project 'AriesBifold') warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99. (in target 'RNFS' from project 'Pods')

BUILD FAILED `

Shall I wait for the release of aries framework javascript to NPM and try again later?

Thanks and cheers, Jason

TimoGlastra commented 3 years ago

It is now released to NPM under aries-framework (https://www.npmjs.com/package/aries-framework). We'll make sure to update the app to use the released version.

I think the problem you're running into is related to running the mobile agent in an iOS simulator. This is not supported at the moment. See https://github.com/hyperledger/aries-mobile-agent-react-native#platform

jasoncys commented 3 years ago

It is now released to NPM under aries-framework (https://www.npmjs.com/package/aries-framework). We'll make sure to update the app to use the released version.

I think the problem you're running into is related to running the mobile agent in an iOS simulator. This is not supported at the moment. See https://github.com/hyperledger/aries-mobile-agent-react-native#platform

Thanks @TimoGlastra. I managed to clean up all the errors by re "git clone" the package and npm cache clean before running the npm install and pod install as well as fixed the team ID error by replacing the error id with my developer ID. When I tried to load the app on my iphone using "npm run start" or "npm run ios MyPhone", the app is not loaded to MyPhone even I've set the target iOS to either 10.0 or 14.4.

Has it to be run on iOS 10.0?

jasoncys commented 3 years ago

It is now released to NPM under aries-framework (https://www.npmjs.com/package/aries-framework). We'll make sure to update the app to use the released version. I think the problem you're running into is related to running the mobile agent in an iOS simulator. This is not supported at the moment. See https://github.com/hyperledger/aries-mobile-agent-react-native#platform

Thanks @TimoGlastra. I managed to clean up all the errors by re "git clone" the package and npm cache clean before running the npm install and pod install as well as fixed the team ID error by replacing the error id with my developer ID. When I tried to load the app on my iphone using "npm run start" or "npm run ios MyPhone", the app is not loaded to MyPhone even I've set the target iOS to either 10.0 or 14.4.

Has it to be run on iOS 10.0?

Here are the errors I encountered when trying to "Run" (the Play button) in Xcode:

`:0: error: module map file '/Users/Jason/Library/Developer/Xcode/DerivedData/AriesBifold-fmzurszqledrugbrzpflcnwqpgtf/Build/Products/Debug-iphoneos/rn-indy-sdk/rn_indy_sdk.modulemap' not found 1 error generated.

:0: error: failed to emit precompiled header '/Users/Jason/Library/Developer/Xcode/DerivedData/AriesBifold-fmzurszqledrugbrzpflcnwqpgtf/Build/Intermediates.noindex/PrecompiledHeaders/AriesBifold-Bridging-Header-swift_DB8WLRESGR3I-clang_IZF2ZUKH7SFC.pch' for bridging header '/Users/Jason/Projects/Aries/aries-mobile-agent-react-native/ios/AriesBifold-Bridging-Header.h' 3 errors generated.` I can find the "rn_indy_sdk.modulemap" in the directory "aries-mobile-agent-react-native/ios/Pods/Headers/Public/rn_indy_sdk" though.
jasoncys commented 3 years ago

It is now released to NPM under aries-framework (https://www.npmjs.com/package/aries-framework). We'll make sure to update the app to use the released version. I think the problem you're running into is related to running the mobile agent in an iOS simulator. This is not supported at the moment. See https://github.com/hyperledger/aries-mobile-agent-react-native#platform

Thanks @TimoGlastra. I managed to clean up all the errors by re "git clone" the package and npm cache clean before running the npm install and pod install as well as fixed the team ID error by replacing the error id with my developer ID. When I tried to load the app on my iphone using "npm run start" or "npm run ios MyPhone", the app is not loaded to MyPhone even I've set the target iOS to either 10.0 or 14.4. Has it to be run on iOS 10.0?

Here are the errors I encountered when trying to "Run" (the Play button) in Xcode:

<unknown>:0: error: module map file '/Users/Jason/Library/Developer/Xcode/DerivedData/AriesBifold-fmzurszqledrugbrzpflcnwqpgtf/Build/Products/Debug-iphoneos/rn-indy-sdk/rn_indy_sdk.modulemap' not found 1 error generated. <unknown>:0: error: failed to emit precompiled header '/Users/Jason/Library/Developer/Xcode/DerivedData/AriesBifold-fmzurszqledrugbrzpflcnwqpgtf/Build/Intermediates.noindex/PrecompiledHeaders/AriesBifold-Bridging-Header-swift_DB8WLRESGR3I-clang_IZF2ZUKH7SFC.pch' for bridging header '/Users/Jason/Projects/Aries/aries-mobile-agent-react-native/ios/AriesBifold-Bridging-Header.h' 3 errors generated.

I can find the "rn_indy_sdk.modulemap" in the directory "aries-mobile-agent-react-native/ios/Pods/Headers/Public/rn_indy_sdk" though.

I managed to make it work by doing the following:

  1. Manually clean the cache in Xcode by deleting the respective directories under DerivedData
  2. npm cache clean and delete the aries-mobile-agent-react-native directory.
  3. Re git clone aries-mobile-agent-react-native
  4. npm install; pod install
  5. Open the "workspace" , not the "project", file in Xcode. (I guess I failed to pod install earlier and caused Xcode not able to open the workspace and I have been using the project file. Sorry folks.)
  6. Plug in the iphone.
  7. Run.
  8. And the App is installed on my iPhone.

What a beauty! (I mean the app.) Now it's time to dig into the details. Thanks @TimoGlastra and et. al. contributors!

TimoGlastra commented 3 years ago

Awesome. Good to hear you got it working 👏