Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specifying Node Version will fail if you don't give repo config to mock-build #82

Open
emettely opened this issue Oct 30, 2019 · 0 comments

Comments

@emettely
Copy link

emettely commented Oct 30, 2019

This might be of use to other people in the README.

Context

  • I was getting a mock-build failure.
gyp ERR! configure error
gyp ERR! stack Error: This is most likely not a problem with node-gyp or the package itself and
gyp ERR! stack is related to network connectivity. In most cases you are behind a proxy or have bad
gyp ERR! stack network settings.
gyp ERR! stack     at Request.<anonymous> (/builddir/build/BUILD/digital-paper-edit-client/node_modules/node-gyp/lib/install.js:197:21)
gyp ERR! stack     at emitOne (events.js:96:13)
gyp ERR! stack     at Request.emit (events.js:188:7)
gyp ERR! stack     at Request.onRequestError (/builddir/build/BUILD/digital-paper-edit-client/node_modules/request/request.js:881:8)
gyp ERR! stack     at emitOne (events.js:96:13)
gyp ERR! stack     at ClientRequest.emit (events.js:188:7)
gyp ERR! stack     at TLSSocket.socketErrorListener (_http_client.js:324:9)
gyp ERR! stack     at emitOne (events.js:96:13)
gyp ERR! stack     at TLSSocket.emit (events.js:188:7)
gyp ERR! stack     at connectErrorNT (net.js:1034:8)
gyp ERR! System Linux 3.10.0-1062.4.1.el7.x86_64
gyp ERR! command "/usr/bin/node" "/builddir/build/BUILD/digital-paper-edit-client/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /builddir/build/BUILD/digital-paper-edit-client/node_modules/node-sass
gyp ERR! node -v v6.17.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1

npm ERR! Linux 3.10.0-1062.4.1.el7.x86_64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "rebuild"
npm ERR! node v6.17.1
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script 'node scripts/build.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/build.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs node-sass
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls node-sass
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /builddir/build/BUILD/digital-paper-edit-client/npm-debug.log
error: Bad exit status from /var/tmp/rpm-tmp.VsAKeT (%build)
    Bad exit status from /var/tmp/rpm-tmp.VsAKeT (%build)


RPM build errors:
ERROR: Exception(/var/lib/jenkins/workspace/digital-paper-edit-client/SRPMS/digital-paper-edit-client-1.2.3-1.2.37.src.rpm) Config(epel-7-x86_64) 0 minutes 30 seconds
  • I needed Node version +8 for node-sass.
  • passing in the parameter NodeVersion in package.json that was above version 6 resulted in no Node JS dependency being found.
  • This was due to mock-build not picking up the build server's yum configuration, so it used the default Node version 6.

Solution

Have a mock_conf directory in your project to use when you run mock-conf --os 7 -r mock_conf.
Inside the mock_conf, there should be a file called nodesource-el7.repo (or a name of your choice with the extension .repo)

[nodesource]
name=Node.js Packages for Enterprise Linux 7 - $basearch
baseurl=https://rpm.nodesource.com/pub_8.x/el/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=https://rpm.nodesource.com/pub/el/NODESOURCE-GPG-SIGNING-KEY-EL

[nodesource-source]
name=Node.js for Enterprise Linux 7 - $basearch - Source
baseurl=https://rpm.nodesource.com/pub_8.x/el/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=https://rpm.nodesource.com/pub/el/NODESOURCE-GPG-SIGNING-KEY-EL
gpgcheck=1

You specify the directory via the -r option:

-r, --repos-dir DIRECTORY    Path to directory containing .repo files to be
                               added to the mock configuration [repos.d]

This allowed mock-conf to find Node version 8 to successfully rebuild node-sass.
bbc/digital-paper-edit-client#84 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant