Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing node-sass on IBM i (formerly iSeries/ AS/400)

Has anyone been able to successfully install node-sass on IBM i?

I'm currently running Node 6.9.1, and am able to install many npm packages. However, the @angular/cli has a dependency on node-sass, and apparently, node-sass has a compiled component that is giving me grief to install.

My first issue had to do with being able to download the binary itself - because of our network setup, the IBM i was unable to download the binary from:

https://github.com/sass/node-sass/releases/download/v4.5.2/aix-ppc-48_binding.node

I was getting a timeout error. I was able to resolve that by changing the SASS_BINARY_SITE to the non-https version:

export SASS_BINARY_SITE='http://github.com/sass/node-sass/releases/download'

However, now, even though the binary downloads successfully, i get the following error when npm tries to test the binary:

Testing binary Binary has a problem: Error: Could not load module /QOpenSys/QIBM/ProdData/OPS/Node6/lib/node_modules/node-sass/vendor/aix-ppc-48/binding.node. The module has an invalid magic number.

at Error (native)
at Object.Module._extensions..node (module.js:597:18)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at module.exports (/QOpenSys/QIBM/ProdData/OPS/Node6/lib/node_modules/node-sass/lib/binding.js:19:10)
at Object.<anonymous> (/QOpenSys/QIBM/ProdData/OPS/Node6/lib/node_modules/node-sass/lib/index.js:14:35)

And then npm tries to build the binary locally, but fails because Python2 isn't available on this machine. I can request the installation of Python2, which is a long process in our environment, but before i continue down that rabbit hole, I'd like to know if it's actually possible to have node-sass working, and if so, is there another binary that i can point the npm install at to use instead.

Or, is there an alternative means of get node-sass working?

like image 446
snorkpete Avatar asked Apr 28 '17 16:04

snorkpete


1 Answers

As of 2017 this will likely not be possible. In addition to Python you will need the entire cpp toolchain to build node and node addons. Since this is already a very hard requirement for desktop PCs, systems like that will have a even harder time. Judging from their binding.gyp, there is just support for OS X, Windows and Linux.

node-sass is known to be hard to build also across the node use base.

Very likely you rather want to have a build / CI step on Linux that compiles your SASS files and builds your artefact.

like image 65
eljefedelrodeodeljefe Avatar answered Sep 23 '22 11:09

eljefedelrodeodeljefe