在 nodejs 中使用 node-sass 时找不到 libsass 绑定
libsass bindings not found when using node-sass in nodejs
我想在我的 node.js v0.12
应用程序中使用 node-sass
模块以受益于 libsass
的性能。
我执行了npm i node-sass
来安装模块,到目前为止没有错误。
现在混乱开始了:
如果我只是在终端中打开 REPL
来尝试 node-sass
那么一切正常但是如果我将它包含在我的项目文件中并且 运行 node myfile.js
然后我得到以下错误信息:
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 但没有成功。没有任何变化。
您可能在使用
时尝试重新安装 node-sass
npm install node-sass
或
npm uninstall node-sass
npm install node-sass
但是node-sass是Sass的C版本。你必须使用 npm rebuild:
npm rebuild node-sass
我通过删除现有的 /node_modules
文件夹和 运行 npm update
解决了这个问题
对我来说,这个问题是由我的构建系统 (Travis CI) 在我的 .travis.yml
文件中做了一些愚蠢的事情引起的。实际上,我是在 npm install
before nvm use 0.12
之前调用的,这导致 node-sass
是为 0.10
而不是 0.12
。我的解决方案只是将 nvm use
从 .travis.yml
文件的 before_script
部分移到 npm install
命令之前,该命令位于 before_install
部分。
我的解决方案是降级到 v0.10.25
(如果您使用 n
,请尝试 sudo n 0.10.25
)
这个解决方法 (http://forum.ionicframework.com/t/error-running-gulp-sass/32311/20) 对我有效。
从这个设置开始:
Cordova CLI:5.3.3
Gulp 版本:CLI 版本 3.9.0
Gulplocal:本地版本3.9.0
离子版本:1.1.0
离子 CLI 版本:1.6.5
离子应用程序库版本:0.3.9
ios-部署版本:未安装
ios-模拟版本:5.0.1
OS: Mac OS X Yosemite
节点版本:v4.1.1
Xcode 版本:Xcode 6.4 构建版本 6E35b
我找到了避免使用 'sudo' 命令的解决方案。我们需要先修复 npm 权限,如下所示:https://docs.npmjs.com/getting-started/fixing-npm-permissions and fixing permissions for Node here: http://mawaha.com/permission-fix-node-js/ 之后我们可以检查并重新安装软件,无需 'sudo' 用于 npm、n 或 ionic。
我遵循了这个步骤:
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
为什么是节点-sass@3.3.3?因为它适用于最新的离子版本:https://github.com/driftyco/ionic/pull/4449
如果您使用的是节点 4.x 或更高版本,则需要重新安装 gulp-sass:
npm uninstall --save-dev gulp-sass
npm install --save-dev gulp-sass@2
这是唯一对我有用的解决方案,
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
解决了这个问题
这对我来说是一个 Node 版本问题,请尝试使用 nvm 将您的版本回溯到类似以下内容:0.10.32。这对我有用。我是运行 4.2.2
我已经解决了这个问题,可以用指定的 binding.node 文件创建正确的目录。您可以从 github
下载绑定
https://github.com/sass/node-sass-binaries
在错误消息中查看它试图找到绑定的路径。就我而言:
C:\Users\Martijn\Documents\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-x64-46
所以我创建了这个映射 win32-x64-46 并从 github 中复制绑定。
结合上面的两个答案对我有用,加上补充:
sudo npm uninstall --save gulp-sass
npm install --save gulp-sass@2
npm update
npm rebuild node-sass
无需 sudo 或重新安装。这对我一直有效:
nvm use 0.12.2
这是我为解决问题而采取的步骤。
我手动更新我的节点到最新版本
重新安装节点-sass
npm 安装节点-sass
3.npm 修复某些漏洞的审核修复程序。
`npm audit fix`
5.npm 安装节点-sass
`npm install node-sass`
此后可以正常工作和编译。
如果与我的回答有关的任何内容不正确,我深表歉意。我只是一个初学者。
希望对你有用
我想在我的 node.js v0.12
应用程序中使用 node-sass
模块以受益于 libsass
的性能。
我执行了npm i node-sass
来安装模块,到目前为止没有错误。
现在混乱开始了:
如果我只是在终端中打开 REPL
来尝试 node-sass
那么一切正常但是如果我将它包含在我的项目文件中并且 运行 node myfile.js
然后我得到以下错误信息:
Error: `libsass` bindings not found. Try reinstalling `node-sass`?
npmjs.com 中的模块描述指出,在 Ubuntu 下解析 #!/usr/bin/env node
可能存在问题以及如何解决此问题,但我的机器上并非如此。
我找不到任何有用的东西,所以我希望你能帮助我。
我在 Ubuntu 14.10.
下使用节点 v0.12.2P.S.: 我已经尝试重新安装 node-sass 但没有成功。没有任何变化。
您可能在使用
时尝试重新安装 node-sassnpm install node-sass
或
npm uninstall node-sass
npm install node-sass
但是node-sass是Sass的C版本。你必须使用 npm rebuild:
npm rebuild node-sass
我通过删除现有的 /node_modules
文件夹和 运行 npm update
对我来说,这个问题是由我的构建系统 (Travis CI) 在我的 .travis.yml
文件中做了一些愚蠢的事情引起的。实际上,我是在 npm install
before nvm use 0.12
之前调用的,这导致 node-sass
是为 0.10
而不是 0.12
。我的解决方案只是将 nvm use
从 .travis.yml
文件的 before_script
部分移到 npm install
命令之前,该命令位于 before_install
部分。
我的解决方案是降级到 v0.10.25
(如果您使用 n
,请尝试 sudo n 0.10.25
)
这个解决方法 (http://forum.ionicframework.com/t/error-running-gulp-sass/32311/20) 对我有效。
从这个设置开始:
Cordova CLI:5.3.3 Gulp 版本:CLI 版本 3.9.0 Gulplocal:本地版本3.9.0 离子版本:1.1.0 离子 CLI 版本:1.6.5 离子应用程序库版本:0.3.9 ios-部署版本:未安装 ios-模拟版本:5.0.1 OS: Mac OS X Yosemite 节点版本:v4.1.1 Xcode 版本:Xcode 6.4 构建版本 6E35b
我找到了避免使用 'sudo' 命令的解决方案。我们需要先修复 npm 权限,如下所示:https://docs.npmjs.com/getting-started/fixing-npm-permissions and fixing permissions for Node here: http://mawaha.com/permission-fix-node-js/ 之后我们可以检查并重新安装软件,无需 'sudo' 用于 npm、n 或 ionic。
我遵循了这个步骤:
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
为什么是节点-sass@3.3.3?因为它适用于最新的离子版本:https://github.com/driftyco/ionic/pull/4449
如果您使用的是节点 4.x 或更高版本,则需要重新安装 gulp-sass:
npm uninstall --save-dev gulp-sass
npm install --save-dev gulp-sass@2
这是唯一对我有用的解决方案,
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
这对我来说是一个 Node 版本问题,请尝试使用 nvm 将您的版本回溯到类似以下内容:0.10.32。这对我有用。我是运行 4.2.2
我已经解决了这个问题,可以用指定的 binding.node 文件创建正确的目录。您可以从 github
下载绑定https://github.com/sass/node-sass-binaries
在错误消息中查看它试图找到绑定的路径。就我而言:
C:\Users\Martijn\Documents\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-x64-46
所以我创建了这个映射 win32-x64-46 并从 github 中复制绑定。
结合上面的两个答案对我有用,加上补充:
sudo npm uninstall --save gulp-sass
npm install --save gulp-sass@2
npm update
npm rebuild node-sass
无需 sudo 或重新安装。这对我一直有效:
nvm use 0.12.2
这是我为解决问题而采取的步骤。
我手动更新我的节点到最新版本
重新安装节点-sass
npm 安装节点-sass
3.npm 修复某些漏洞的审核修复程序。
`npm audit fix`
5.npm 安装节点-sass
`npm install node-sass`
此后可以正常工作和编译。 如果与我的回答有关的任何内容不正确,我深表歉意。我只是一个初学者。 希望对你有用