Issues running "yarn build" while creating Solana NFTs - yarnpkg

I've been having issues running "yarn build" for a few days now. I tried the suggestions I could find online without much luck. This is for an NFT project on Solana so hoping another dev on here may have ran into and has the fix.
Things I've tried:
Downgrading to earlier versions of node js, ts-node, yarn, and solana.
Deleting package-lock.json.
Any other suggestions out there would be much appreciated. Thanks in advance!
Command line output below:
C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js>yarn build
yarn run v1.22.10
$ lerna run build
lerna notice cli v3.22.1
lerna info versioning independent
lerna info Executing command in 5 packages: "yarn run build"
lerna ERR! yarn run build exited 1 in 'candy-machine-mint'
lerna ERR! yarn run build stdout:
$ react-scripts build
Creating an optimized production build...
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
lerna ERR! yarn run build stderr:
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at module.exports (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\webpack\lib\NormalModule.js:471:10)
at C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\webpack\lib\NormalModule.js:503:5
at C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\webpack\lib\NormalModule.js:358:12
at C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at iterateNormalLoaders (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
at C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\loader-runner\lib\LoaderRunner.js:236:3
at runSyncOrAsync (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
at iterateNormalLoaders (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
at Array.<anonymous> (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
at Storage.finished (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
at C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\packages\fair-launch\node_modules\react-scripts\scripts\build.js:19
throw err;
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at module.exports (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\webpack\lib\NormalModule.js:417:16)
at C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\webpack\lib\NormalModule.js:452:10
at C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\webpack\lib\NormalModule.js:323:13
at C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\loader-runner\lib\LoaderRunner.js:367:11
at C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\loader-runner\lib\LoaderRunner.js:233:18
at context.callback (C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
at C:\Users\corma\Desktop\Solana_Project1\metaplex-master\js\node_modules\babel-loader\lib\index.js:59:103 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v17.2.0
error Command failed with exit code 1.
lerna ERR! yarn run build exited 1 in 'candy-machine-mint'
lerna WARN complete Waiting for 2 child processes to exit. CTRL-C to exit immediately.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

It is the node.js version used with old code that is causing the error. Uninstall the current version of node and install the lts version (16.13.1) and the error will be gone.

Related

'ENOTDIR' error while running relay-compiler with yarn

I am trying to make an application with react-relay following the step-by-step guide on the relay documentation. After running yarn install and adding the yarn relay script which runs "relay-compiler --src ./src --schema ./schema.graphql --language typescript". And I was getting an ENOTDIR error as below:
$ relay-compiler --src ./src --schema ./schema.graphql --language typescript
Error: spawn ENOTDIR
at ChildProcess.spawn (node:internal/child_process:412:11)
at Object.spawn (node:child_process:698:9)
at /home/Documents/workspace/react-relay/node_modules/relay-compiler/bin/relay-compiler:1841:31
at new Promise (<anonymous>)
at Function.isAvailable (/home/Documents/workspace/react-relay/node_modules/relay-compiler/bin/relay-compiler:1835:12)
at /home/Documents/workspace/relay-test/node_modules/relay-compiler/bin/relay-compiler:8221:61
at Generator.next (<anonymous>)
at asyncGeneratorStep (/home/Documents/workspace/react-relay/node_modules/#babel/runtime/helpers/asyncToGenerator.js:3:24)
at _next (/home/Documents/workspace/react-relay/node_modules/#babel/runtime/helpers/asyncToGenerator.js:25:9)
at /home/Documents/workspace/react-relay/node_modules/#babel/runtime/helpers/asyncToGenerator.js:32:7
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
I have then updated my versions of node, npm, yarn. And tried cloning some relay example projects from github, and I was getting the same error message with all repos that uses relay.
Turned out it was because I don't have the required watchman package, this was resolved by installing Watchman on my machine.

`yarn set version from sources` results in "Unrecognized or legacy configuration settings found: changesetIgnorePatterns"

Can't seem to install yarn from sources and I'm not sure how to even debug this sort of thing.
Things I've tried:
homebrew nodejs and yarn
nodejs from official pkg
From the docs I've read, changesetIgnorePatterns should be a valid configuration setting so the only thing I can think of is yarn is reporting v2.4.0 but somehow utilizing an older version when it runs.
% node -v
v15.10.0
% npm -v
7.6.0
% yarn -v
2.4.0
% yarn set version from sources
➤ YN0000: Fetching the latest commits
$ git fetch origin master --force
$ git reset --hard FETCH_HEAD
$ git clean -dfx
➤ YN0000: Building a fresh bundle
Usage Error: Unrecognized or legacy configuration settings found: changesetIgnorePatterns - run "yarn config -v" to see the list of settings supported in Yarn (in /private/var/folders/3y/zswk9wjs4b19pyyvyymgmnzh0000gn/T/yarnpkg-sources/d0a670/.yarnrc.yml)
$ yarn run [--inspect] [--inspect-brk] <scriptName> ...
➤ YN0001: Error: Child "yarn" exited with exit code 1
at ChildProcess.<anonymous> (/Users/frankjmattia/.yarn/releases/yarn-berry.cjs:2:403919)
at ChildProcess.emit (node:events:378:20)
at maybeClose (node:internal/child_process:1067:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
➤ YN0000: Failed with errors in 1s 120ms
Any help or direction in how to troubleshoot would be greatly appreciated.
While I had already deleted .yarn, .yarnrc, and .yarnrc.yml multiple times, after updating to yarn 2.4.1 it finally worked.
I still do not know if this was my own fault or if something had actually changed with yarn, but my problem is now solved. Thank you to whoever upvoted the question, I'm sorry I couldn't produce a more satisfactory answer.
What fixed for me was making sure that the project directory isn't the home directory. Which is often the case when working with Dockerfiles - https://github.com/yarnpkg/berry/issues/2187

React native build fail react-native-fbsdk

Trying to build react-native android app but following error
info Running jetifier to migrate libraries to AndroidX. You can
disable it using "--no-jetifier" flag. Jetifier found 1108 file(s) to
forward-jetify. Using 12 workers... info JS server already running.
info Installing the app...
Task :react-native-fbsdk:compileDebugJavaWithJavac FAILED
Deprecated Gradle features were used in this build, making it
incompatible with Gradle 6.0. Use '--warning-mode all' to show the
individual deprecation warnings. See
https://docs.gradle.org/5.5/userguide/command_line_interface.html#sec:command_line_warnings
26 actionable tasks: 2 executed, 24 up-to-date
FAILURE: Build failed with an exception.
What went wrong: Execution failed for task ':react-native-fbsdk:compileDebugJavaWithJavac'.
Could not find tools.jar. Please check that C:\Program Files\Java\jre1.8.0_231 contains a valid JDK installation.
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 4s
error Failed to install the app. Make sure you have the Android
development environment set up:
https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment.
Run CLI with --verbose flag for more details. Error: Command failed:
gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
FAILURE: Build failed with an exception.
What went wrong: Execution failed for task ':react-native-fbsdk:compileDebugJavaWithJavac'.
Could not find tools.jar. Please check that C:\Program Files\Java\jre1.8.0_231 contains a valid JDK installation.
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 4s
at checkExecSyncError (child_process.js:603:11)
at execFileSync (child_process.js:621:13)
at runOnAllDevices (G:\work\upveda\app\2019\rn_subhakamana\node_modules\#react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:94:39)
at buildAndRun (G:\work\upveda\app\2019\rn_subhakamana\node_modules\#react-native-community\cli-platform-android\build\commands\runAndroid\index.js:158:41)
at then.result (G:\work\upveda\app\2019\rn_subhakamana\node_modules\#react-native-community\cli-platform-android\build\commands\runAndroid\index.js:125:12)
at process._tickCallback (internal/process/next_tick.js:68:7) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! Subhakamana#0.0.1
android: react-native run-android npm ERR! Exit status 1 npm ERR!
npm ERR! Failed at the Subhakamana#0.0.1 android script. npm ERR! This
is probably not a problem with npm. There is likely additional logging
output above.
npm ERR! A complete log of this run can be found in: npm ERR!
C:\Users\sheye\AppData\Roaming\npm-cache_logs\2019-12-19T11_54_40_308Z-debug.log
So basically the problem was you have to perform an AndroidX migration on your linked source every time you update react native modules that ship native Java code. That is what this tool(i.e jetifier and jetify command) does - it can rewrite the source in node_modules every time you call it.
the commands are first try npm i jetifier and then npx jetify to solve your problem.
Hope it helps, feel free for doubts

Running Cypress in Bitbucket pipelines fails looking for chrome

I have no idea why it tries to run Chrome instead of Electron based browser. Could be a Percy culprit here?
+ yarn cy:ci --parallel --ci-build-id $BITBUCKET_BUILD_NUMBER
yarn run v1.13.0
$ cd cypress && yarn ci --parallel --ci-build-id 119
$ percy exec -- cypress run --record --parallel --ci-build-id 119
[percy] created build #5: https://percy.io/DeepVision/doveze-cz/builds/1794467
Error: Failed to launch chrome!
/opt/atlassian/pipelines/agent/build/cypress/node_modules/puppeteer/.local-chromium/linux-650583/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory
TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md
at onClose (/opt/atlassian/pipelines/agent/build/cypress/node_modules/puppeteer/lib/Launcher.js:342:14)
at Interface.helper.addEventListener (/opt/atlassian/pipelines/agent/build/cypress/node_modules/puppeteer/lib/Launcher.js:331:50)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
More info and configs at gist: https://gist.github.com/FredyC/d5b82b485e65245102dd24f6df787f5f
With the help from Percy support, this issue is overcome by using the image cypress/browsers:chrome67-ff57.

Lerna fails with 404 when trying to link dependency

My structure is as follows:
package.json
lerna.json
packages
myproj-util
package.json
myproj-schema
package.json -- has dev-depenency on myproj-util
Neither project is published to npm yet.
When I run lerna boostrap I get:
❯ lerna bootstrap
lerna info version 2.4.0
lerna info versioning independent
lerna info Bootstrapping 2 packages
lerna info lifecycle preinstall
lerna info Installing external dependencies
lerna ERR! execute callback with error
lerna ERR! Error: Command failed: npm install
lerna ERR! npm ERR! code E404
lerna ERR! npm ERR! 404 Not Found: myproj-util#*
My understanding from the docs is that when running lerna bootstrap it should "check if each dependency is part of the Lerna repo" so it should just be symlinked.
So... why is it not just symlinking my internal dependency? The dependency is under packages/ and the folder name and package name match exactly.
This line from the docs provides a hint:
The version of babel-generator in the package.json of babel-core is satisfied by packages/babel-generator, passing for an internal dependency.
i.e., your internal packages have to match any version constraints otherwise they will be treated as external packages.
Even though my dependency was on "myproj-util": "*", I had forgotten to add a version (any version) to the package.json of myproj-util. Simply adding the version fixed the problem. i.e., the myproj-util package.json looks like:
{
"name": "myproj-util",
"version": "0.1.0"
}

Resources