我想使用node-sass
应用中的node.js v0.12
模块,以便从libsass
的效果中受益。
我执行npm i node-sass
安装模块,到目前为止没有错误。
现在混乱开始了:
如果我只是打开终端中的REPL
来试用node-sass
,那么一切正常,但如果我将其包含在我的项目文件中并运行node myfile.js
,那么我会收到以下错误消息:< BR />
Error: `libsass` bindings not found. Try reinstalling `node-sass`?
模块在npmjs.com的说明指出在Ubuntu下解析#!/usr/bin/env node
可能存在问题,以及如何解决这个问题但在我的机器上并非如此。
我找不到任何有用的东西,所以我希望你能帮到我。
我在Ubuntu 14.10下使用节点v0.12.2。
P.S。:我已经尝试重新安装node-sass但没有成功。什么都没有改变。
答案 0 :(得分:272)
如果您使用的是节点4.x或更高版本,则需要重新安装gulp-sass:
npm uninstall --save-dev gulp-sass
npm install --save-dev gulp-sass@2
答案 1 :(得分:116)
您可能尝试在使用
时重新安装node-sassnpm install node-sass
或
npm uninstall node-sass
npm install node-sass
但是node-sass是Sass的C版本。您必须使用npm rebuild:
npm rebuild node-sass
答案 2 :(得分:20)
我通过删除现有的/node_modules
文件夹并运行npm update
答案 3 :(得分:8)
这种解决方法(http://forum.ionicframework.com/t/error-running-gulp-sass/32311/20)形成了我的工作。
从此设置开始:
Cordova CLI:5.3.3 Gulp版本:CLI版本3.9.0 Gulp local:本地版本3.9.0 离子版:1.1.0 离子CLI版本:1.6.5 Ionic App Lib版本:0.3.9 ios-deploy版本:未安装 ios-sim版本:5.0.1 操作系统:Mac OS X Yosemite 节点版本:v4.1.1 Xcode版本:Xcode 6.4 Build版本6E35b
我找到了一个解决方案,以避免使用&#39; sudo&#39;命令。我们之前需要修改npm权限:https://docs.npmjs.com/getting-started/fixing-npm-permissions并在此修复节点的权限:http://mawaha.com/permission-fix-node-js/在此之后,我们可以检查并重新安装软件,而无需使用&#39; sudo&#39;对于npm,n或离子。
我遵循了这一步:
npm install -g n
rm -R node_modules/
npm install node-sass@3.3.3
npm -g install node-gyp@3
npm uninstall gulp-sass
npm install gulp-sass@2
npm rebuild node-sass
ionic setup sass
为什么node-sass@3.3.3?因为它适用于最新的离子版本:https://github.com/driftyco/ionic/pull/4449
答案 4 :(得分:8)
这是唯一对我有用的解决方案,
sudo npm install -g n
sudo n 0.12.7
npm install node-sass@2
sudo npm -g install node-gyp@3
npm rebuild node-sass
答案 5 :(得分:4)
结合上面的两个答案对我有用,加上补充:
sudo npm uninstall --save gulp-sass
npm install --save gulp-sass@2
npm update
npm rebuild node-sass
答案 6 :(得分:3)
我已经解决了这个问题,用指定的binding.node文件创建了正确的目录。您可以从github下载绑定
https://github.com/sass/node-sass-binaries
在错误消息中查找尝试查找绑定的路径。就我而言:
C:\用户\马亭\文件\ node_modules \吞-SASS \ node_modules \节点萨斯\厂商\ Win32的x64-46
所以我创建了这个地图win32-x64-46并从github复制绑定。
答案 7 :(得分:1)
对我来说,这个问题是在我的构建系统(Travis CI)中引起的,我在.travis.yml
文件中做了一些愚蠢的事情。实际上,我在 npm install
之前调用了nvm use 0.12
,这导致为node-sass
而不是0.10
构建0.12
。我的解决方案只是将nvm use
从.travis.yml
文件的before_script
部分移到npm install
部分before_install
部分之前。
答案 8 :(得分:1)
This was a Node version issue for me, try using nvm to backtrack your version to something like: 0.10.32. This worked for me. I was running 4.2.2
答案 9 :(得分:0)
答案 10 :(得分:0)
无需sudo或重新安装。这一直对我有用:
nvm use 0.12.2
答案 11 :(得分:0)
这是我为解决问题而采取的步骤。
我手动将我的节点更新到最新版本
重新安装 node-sass
npm install node-sass
3.npm 审计修复以修复某些漏洞。
memcpy(str1.data, "0123456789012345678", 20);
5.npm install node-sass
`npm audit fix`
此后正常工作和编译。 如果与我的回答有关的任何内容不正确,我深表歉意。我只是一个初学者。 希望对你有用