是否有人能够在IBM i上成功安装node-sass?
我目前正在运行Node 6.9.1,并且能够安装许多npm软件包。但是,@ angular / cli依赖于node-sass,显然,node-sass有一个编译组件让我很难安装。
我的第一个问题与能够下载二进制文件本身有关 - 由于我们的网络设置,IBM i无法从以下位置下载二进制文件:
https://github.com/sass/node-sass/releases/download/v4.5.2/aix-ppc-48_binding.node
我收到超时错误。我能够通过将SASS_BINARY_SITE更改为非https版本来解决这个问题:
export SASS_BINARY_SITE='http://github.com/sass/node-sass/releases/download'
但是,现在,即使二进制下载成功,当npm尝试测试二进制文件时,我也会收到以下错误:
测试二进制二进制有一个问题:错误:无法加载模块 /QOpenSys/QIBM/ProdData/OPS/Node6/lib/node_modules/node-sass/vendor/aix-ppc-48/binding.node。 该模块具有无效的幻数。
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)
然后npm尝试在本地构建二进制文件,但由于Python2在此计算机上不可用而失败。我可以请求安装Python2,这在我们的环境中是一个漫长的过程,但在我继续关注那个兔子洞之前,我想知道实际上是否可以让node-sass工作,如果是的话,是否还有另一个二进制,我可以指向npm install
来代替使用。
或者,是否有另一种获取node-sass工作的方法?
答案 0 :(得分:2)
截至2017年,这可能是不可能的。除了Python之外,您还需要整个cpp工具链来构建节点和节点插件。由于这对台式机来说已经是一项非常严格的要求,因此这样的系统将会有更难的时间。从他们的binding.gyp来看,只支持OS X,Windows和Linux。
众所周知,node-sass很难在整个节点使用基础上构建。很可能你宁愿在Linux上有一个构建/ CI步骤来编译你的SASS文件并构建你的文物。