Giter Club home page Giter Club logo

Comments (13)

xzyfer avatar xzyfer commented on May 24, 2024 1

The vendor directory is sometimes published because I publish the release from my local install, which already have a vendor directory that I forgot to delete.

Sorry, I mean can you try installing node-sass 9 on node 18. I'm trying to determine if the issue is specific to the combination of node-sass v9 on Linux with mode 20.

from node-sass.

xzyfer avatar xzyfer commented on May 24, 2024 1

Thanks. This suggests I'll need to rebuild the binary tomorrow. I'll update this issue when the new binary has been uploaded

from node-sass.

nschonni avatar nschonni commented on May 24, 2024

Bindings are attached to the release and downloaded during install, they're not bundled with the NPM package

from node-sass.

LaurensRietveld avatar LaurensRietveld commented on May 24, 2024

Thanks for the correction!
I've updated the issue description

from node-sass.

nschonni avatar nschonni commented on May 24, 2024

You haven't provided any error message, you just keep saying it's missing something. You may have a dependency with a dependency on a version older than v9, which won't work on Node 20

from node-sass.

LaurensRietveld avatar LaurensRietveld commented on May 24, 2024

see here (this is the output of the sequence of commands I posted in the OP)

root@16b4ab8bc980:/# mkdir test
root@16b4ab8bc980:/# cd test/
root@16b4ab8bc980:/test# yarn init -y
yarn init v1.22.19
warning The yes flag has been set. This will automatically answer yes to all questions, which may have security implications.
success Saved package.json
Done in 0.01s.
root@16b4ab8bc980:/test# yarn add node-sass
yarn add v1.22.19
warning package.json: "test" is also the name of a node core module
info No lockfile found.
warning [email protected]: "test" is also the name of a node core module
[1/4] Resolving packages...
warning node-sass > make-fetch-happen > cacache > @npmcli/[email protected]: This functionality has been moved to @npmcli/fs
warning node-sass > node-gyp > make-fetch-happen > cacache > @npmcli/[email protected]: This functionality has been moved to @npmcli/fs
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
error /test/node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments: 
Directory: /test/node_modules/node-sass
Output:
Binary found at /test/node_modules/node-sass/vendor/linux-x64-115/binding.node
Testing binary
Binary has a problem: Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /test/node_modules/node-sass/vendor/linux-x64-115/binding.node)
    at Module._extensions..node (node:internal/modules/cjs/loader:1341:18)
    at Module.load (node:internal/modules/cjs/loader:1113:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1137:19)
    at require (node:internal/modules/helpers:121:18)
    at module.exports (/test/node_modules/node-sass/lib/binding.js:19:10)
    at Object.<anonymous> (/test/node_modules/node-sass/lib/index.js:13:35)
    at Module._compile (node:internal/modules/cjs/loader:1255:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1309:10)
    at Module.load (node:internal/modules/cjs/loader:1113:32) {
  code: 'ERR_DLOPEN_FAILED'
}
Building the binary locally
Building: /usr/local/bin/node /test/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/usr/local/bin/node',
gyp verb cli   '/test/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb find Python Python is not set from command line or npm configuration
gyp verb find Python Python is not set from environment variable PYTHON
gyp verb find Python checking if "python3" can be used
gyp verb find Python - executing "python3" to get executable path
gyp verb find Python - "python3" is not in PATH or produced an error
gyp verb find Python checking if "python" can be used
gyp verb find Python - executing "python" to get executable path
gyp verb find Python - "python" is not in PATH or produced an error
gyp ERR! find Python 
gyp ERR! find Python Python is not set from command line or npm configuration
gyp ERR! find Python Python is not set from environment variable PYTHON
gyp ERR! find Python checking if "python3" can be used
gyp ERR! find Python - "python3" is not in PATH or produced an error
gyp ERR! find Python checking if "python" can be used
gyp ERR! find Python - "python" is not in PATH or produced an error
gyp ERR! find Python 
gyp ERR! find Python **********************************************************
gyp ERR! find Python You need to install the latest version of Python.
gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
gyp ERR! find Python you can try one of the following options:
gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
gyp ERR! find Python   (accepted by both node-gyp and npm)
gyp ERR! find Python - Set the environment variable PYTHON
gyp ERR! find Python - Set the npm configuration variable python:
gyp ERR! find Python   npm config set python "/path/to/pythonexecutable"
gyp ERR! find Python For more information consult the documentation at:
gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
gyp ERR! find Python **********************************************************
gyp ERR! find Python 
gyp ERR! configure error 
gyp ERR! stack Error: Could not find any Python installation to use
gyp ERR! stack     at PythonFinder.fail (/test/node_modules/node-gyp/lib/find-python.js:330:47)
gyp ERR! stack     at PythonFinder.runChecks (/test/node_modules/node-gyp/lib/find-python.js:159:21)
gyp ERR! stack     at PythonFinder.<anonymous> (/test/node_modules/node-gyp/lib/find-python.js:202:16)
gyp ERR! stack     at PythonFinder.execFileCallback (/test/node_modules/node-gyp/lib/find-python.js:294:16)
gyp ERR! stack     at exithandler (node:child_process:427:5)
gyp ERR! stack     at ChildProcess.errorhandler (node:child_process:439:5)
gyp ERR! stack     at ChildProcess.emit (node:events:511:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! stack     at onErrorNT (node:internal/child_process:483:16)
gyp ERR! stack     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
gyp ERR! System Linux 5.19.0-42-generic
gyp ERR! command "/usr/local/bin/node" "/test/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /test/node_modules/node-sass
gyp ERR! node -v v20.2.0
gyp ERR! node-gyp -v v8.4.1
gyp ERR! not ok 
Build failed with error code: 1
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

from node-sass.

nschonni avatar nschonni commented on May 24, 2024

@xzyfer I wonder if the GLIBC error is related to the newer bindings?

from node-sass.

LaurensRietveld avatar LaurensRietveld commented on May 24, 2024

Bindings are attached to the release and downloaded during install, they're not bundled with the NPM package

Just a followup on this one, as I'm still confused. Should we expect differences between 8.0.0 and 9.0.0 wrt the bundled files? As npmjs shows, 8.0.0 contains a vendor subdirectory (see here) where 9.0.0 does not (see here)

from node-sass.

xzyfer avatar xzyfer commented on May 24, 2024

@LaurensRietveld directory is created as part of the install process. Can you confirm whether you're able to install V8 on Node 20?

@nschonni it could be related

from node-sass.

LaurensRietveld avatar LaurensRietveld commented on May 24, 2024

@LaurensRietveld directory is created as part of the install process. Can you confirm whether you're able to install V8 on Node 20?

If that directory is created as part of the install process, then I wouldn't expect that folder to show up in the published npm package. The links above indicate that the directory is created as part of the publication

With respect to v8: do you mean the libv8-dev package? I can install that on node20:

docker run -it --rm node:20-bullseye-slim bash -c "apt update && apt install -y libv8-dev"

from node-sass.

LaurensRietveld avatar LaurensRietveld commented on May 24, 2024

It seems to be specific to node 20 indeed. The following sequence of commands installs [email protected] fine:

> docker run -it --rm node:18-bullseye-slim bash
# inside the container:

mkdir test
cd test/
yarn init -y
yarn add node-sass

from node-sass.

xzyfer avatar xzyfer commented on May 24, 2024

Update the linux binary for Node 20. Was able to do an install successfully locally.

@LaurensRietveld please give it a shot now. I replaced the binary on the existing release so there's no need for a 9.0.1 release.

from node-sass.

LaurensRietveld avatar LaurensRietveld commented on May 24, 2024

Excellent, this seems to have fixed it. Many thanks!

from node-sass.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.