ubuntu - 在 Ubuntu 17.10 上安装 node-sass

标签 ubuntu npm node-sass

在 Ubuntu 17.10 上安装 node-sass 的问题

我在安装 node-sass 时遇到问题,即:

root@skladak:~/test# npm install node-sass

页:

https://github.com/sass/node-sass/releases/download/v4.8.3/linux-x64-62_binding.node



不存在

我尝试编辑 ~/.npmrc
to:(但不解决问题)

sass_binary_site= http://registry.npm.taobao.org
root@skladak:~/test# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 17.10
Release:    17.10
Codename:   artful
root@skladak:~/test# uname -a
Linux skladak 4.13.0-38-generic #43-Ubuntu SMP Wed Mar 14 15:20:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
root@skladak:~/test# sudo rm -rf node_modules ~/.npm && npm cache clean --force
npm WARN using --force I sure hope you know what you are doing.
root@skladak:~/test# node -v
v10.0.0-pre



root@skladak:~/test# npm install node-sass

> node-sass@4.8.3 install /home/rob/test/node_modules/node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.8.3/linux-x64-62_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.8.3/linux-x64-62_binding.node": 

HTTP error 404 Not Found

Hint: If github.com is not accessible in your location
      try setting a proxy via HTTP_PROXY, e.g. 

      export HTTP_PROXY=http://example.com:1234

or configure npm proxy via

      npm config set proxy http://example.com:8080

> node-sass@4.8.3 postinstall /home/rob/test/node_modules/node-sass
> node scripts/build.js

Building: /usr/local/bin/node /home/rob/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 [ '/usr/local/bin/node',
gyp verb cli   '/home/rob/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 info using node-gyp@3.6.2
gyp info using node@10.0.0-pre | linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` succeeded python2 /usr/bin/python2
gyp verb check python version `/usr/bin/python2 -c "import platform; print(platform.python_version());"` returned: "2.7.14\n"
gyp verb get node dir no --target version specified, falling back to host node version: 10.0.0-pre
gyp verb command install [ '10.0.0-pre' ]
gyp verb install input version string "10.0.0-pre"
gyp verb detected "pre" node version 10.0.0-pre
gyp ERR! configure error 
gyp ERR! stack Error: "pre" versions of node cannot be installed, use the --nodedir flag instead
gyp ERR! stack     at install (/home/rob/test/node_modules/node-gyp/lib/install.js:66:16)
gyp ERR! stack     at Object.self.commands.(anonymous function) [as install] (/home/rob/test/node_modules/node-gyp/lib/node-gyp.js:55:37)
gyp ERR! stack     at getNodeDir (/home/rob/test/node_modules/node-gyp/lib/configure.js:77:20)
gyp ERR! stack     at PythonFinder.callback (/home/rob/test/node_modules/node-gyp/lib/configure.js:44:7)
gyp ERR! stack     at PythonFinder.<anonymous> (/home/rob/test/node_modules/node-gyp/lib/configure.js:470:14)
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:273:7)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at maybeClose (internal/child_process.js:944:16)
gyp ERR! stack     at Socket.stream.socket.on (internal/child_process.js:365:11)
gyp ERR! stack     at Socket.emit (events.js:182:13)
gyp ERR! System Linux 4.13.0-38-generic
gyp ERR! command "/usr/local/bin/node" "/home/rob/test/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /home/rob/test/node_modules/node-sass
gyp ERR! node -v v10.0.0-pre
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
Build failed with error code: 1
npm WARN enoent ENOENT: no such file or directory, open '/home/rob/test/package.json'
npm WARN test No description
npm WARN test No repository field.
npm WARN test No README data
npm WARN test No license field.
npm ERR! Linux 4.13.0-38-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "node-sass"
npm ERR! node v6.11.4
npm ERR! npm  v3.5.2
npm ERR! code ELIFECYCLE

npm ERR! node-sass@4.8.3 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the node-sass@4.8.3 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!     /home/rob/test/npm-debug.log
root@skladak:~/test# 

最佳答案

您正在运行的 Node 10 预发行版尚不受支持。您应该能够自己构建二进制文件,但它没有被 node-sass 测试

关于ubuntu - 在 Ubuntu 17.10 上安装 node-sass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49700393/

相关文章:

javascript - 将 JS 文件与 webpack 脚本 bundle 在一起?

linux - 在 unix 中列出给定目录中的文本文件

git pull突然挂了

C++ MySQL++ 未定义对 dlclose 的引用

javascript - 未捕获的类型错误 : Cannot read property 'combineReducers' of undefined

node.js - 我们如何使用 NPM 将 Lesscss 升级到 Windows 中的最新版本?

vue.js - 在 Vue 项目中使用 `chromatic-sass`(或使任何 JavaScript 函数在 Sass 文件/ block 中可用)

sass - 当我在汇总中使用 scss 时出现意外字符 '@'(请注意,您需要插件才能导入非 JavaScript 文件)

node.js - 在 nodejs 中使用 node-sass 时找不到 libsass 绑定(bind)

php - 将 curl 安装到 PHP cli