Hãy thử cài đặt lại `node-sass` trên nút 0.12?


263

Tôi muốn sử dụng bộ khởi động web google. Tôi đã cài đặt node.js v0.12.0, node-sass& gulp.

Rồi chạy:

$ sudo npm install

Khi tôi gõ gulp servethì gặp lỗi này:

Using gulpfile ~/web-starter-kit/gulpfile.js Starting 'styles'... 'styles' errored after 93 ms 
Error: `libsass` bindings not found. Try reinstalling `node-sass`? at getBinding

Tôi đã cài đặt lại nút và gulp nhưng điều này không có ích.

Tôi nên làm gì tiếp theo?


Nút hạ cấp làm việc cho tôi.
zero_cool

Câu trả lời:


386

Nếu phiên bản nút của bạn là 4 và bạn đang sử dụng gulp-sass, thì hãy thử

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass@2

5
Đã khắc phục sự cố với tôi trên nút 4.1 :) ty
Zalaboza

Đã sửa lỗi cho tôi trên Debian 8.1 và Node 4.1. Cảm ơn rất nhiều.
VinceOPS

3
Cảm ơn bạn. Có lẽ câu trả lời này nên được đánh dấu là "đúng")
Paul Paca-Vaca Seleznev

1
Cảm ơn bạn, đã dành rất nhiều thời gian để cố gắng giải quyết điều này và đây là giải pháp hiệu quả!
HjalmarCarlson

1
Cũng giải quyết vấn đề trên v6.9.2 kể từ tháng 12 năm 2016. Cảm ơn!
Digitalformula

341

Tôi tìm thấy lệnh hữu ích này:

npm rebuild node-sass

Từ rebuild tài liệu :

Điều này hữu ích khi bạn cài đặt phiên bản nút mới (hoặc chuyển đổi phiên bản nút) và phải biên dịch lại tất cả các addon C ++ của bạn với tệp nhị phân node.js mới.

http://laravel.io/forum/10-29-2014-laravel-elixir-sass-error


5
Có rất nhiều lỗi, như Python not supported byFailed at the node-sass@0.8.6 install script 'node build.js'
AlikElzin-kilaka

14
Đây phải là câu trả lời được chấp nhận, bởi vì nó làm việc tối thiểu để khắc phục vấn đề thực tế.
TheHippo

1
@ AlikElzin-kilaka: Đảm bảo rằng bạn đã cài đặt Python và biến môi trường PYTHON được đặt để trỏ cài đặt.
Roope Hakulinen

2
Tôi đã thử điều này trước bất cứ điều gì khác và nó hoạt động hoàn hảo. Chúc mừng
ConorLuddy

15
Tôi nhận được mộtError: Cannot find module 'node_modules/node-sass/node_modules/pangyp/bin/node-gyp'
lrkwz 04/11/2015

233

Tôi gặp phải lỗi này khi sử dụng nút 0.12.0và nó đã được sửa bằng cách xóa /node_modulesthư mục hiện có và chạy npm update.


Điều đó sẽ không hoạt động nếu bạn không có tất cả các phụ thuộc được chỉ định trong gói.json
Victor Marchuk

Tôi đã phải xóa thư mục, sau đó chạy cài đặt npm, sau đó cập nhật npm. Nhưng điều này chỉ cho tôi đi đúng hướng. Cảm ơn!
Ti-mô-thê

Xóa thư mục node_modules gây ra: Error: Cannot find module 'c:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'khi chạy npm update.
AlikElzin-kilaka

41
Đây là giải pháp quyết liệt. Chỉ cần sử dụng npm rebuild node-sassđặc biệt để xây dựng lại các addon C ++.
Chris Sattinger

2
Không sửa bất cứ điều gì cho tôi :(
đồng bộ

84

npm rebuild node-sassđã đưa ra lỗi cho tôi (Ubuntu) và npm install gulp-sasskhông làm cho lỗi biến mất.

Đã thấy một giải pháp trên GitHub có hiệu quả với tôi:

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass


Đã làm việc hôm nay cho các phiên bản
@lastest

22

Tôi gặp vấn đề tương tự:

  • cài đặt nút-sass
  • được thông báo khi kết thúc cài đặt
  • sau đó được yêu cầu cài đặt lại nút-sass.

Giải pháp là cài đặt nút-sass phiên bản 2 hỗ trợ các phiên bản hiện tại của nút. Xem https://github.com/sass/node-sass/issues/490#issuecomment-70388754

Chạy:

npm install node-sass@2

Sau đó kiểm tra lại:

$ npm ls node-sass
myapp@0.0.0 /var/www/myapp
└── node-sass@2.0.1

$ gulp sass
[09:48:42] Using gulpfile /var/www/myapp/gulpfile.js
[09:48:42] Starting 'sass'...
[09:48:42] Finished 'sass' after 15 ms

8
Đối với những người trong chúng ta sử dụng 'grunt-sass', hãy chắc chắn và cập nhật: 'npm install --save-dev grunt-sass'
natepers

19

Nếu bạn sử dụng Gulp thì hãy thử:

npm install gulp-sass

Tôi đã có cùng một vấn đề và gulp-sassgói là vấn đề.


sử dụng cái này sau khi "npm gỡ cài đặt --save-dev gulp-sass" đã khắc phục sự cố cho tôi
Sul Aga

2
npm install grunt-sasskhắc phục sự cố cho tôi
Paul Schreiber

11

tôi đã có cùng một vấn đề ngày hôm nay tại nơi làm việc.

npm rebuild node-sass

hoàn thành công việc cho tôi


9

Nút hạ cấp xuống 0.10.36 nên thực hiện theo chủ đề này trên trang github của nút-sass: https://github.com/sass/node-sass/issues/490#issuecomment-70388754

Nếu bạn có NVM, bạn có thể chỉ cần:

nvm install 0.10

Nếu bạn không, bạn có thể tìm thấy NVM và hướng dẫn tại đây: https://www.npmjs.com/package/nvm


giải quyết vấn đề cho tôi nvm cũng có sẵn thông qua homebrew cho người dùng mac: "brew install nvm". sau khi chuyển sang phiên bản 0.10.36, hãy đảm bảo rằng nó thực sự hoạt động: "nút -v"
cjoy

9
Bản thân nút hạ cấp là một cách giải quyết hơn là một câu trả lời.
mikemaccana

1
Lỗi này được sửa trong node-sass@2.0.1- như @mikemaccana được phát hiện ở cuối vé được tham chiếu bởi câu trả lời này. Xem bình luận của ông trong chủ đề này.
natepers

1
Người dùng 'grunt-sass' nên cập nhật sau khi cập nhật 'node-sass' nếu bạn vẫn gặp sự cố: 'npm install --save-dev grunt-sass'
natepers

3

Câu trả lời này hơi trực giao với OP, nhưng -

các ràng buộc libsass không cài đặt đúng với trình bao bọc nút-sass trên Node v4.0.0. Tôi đã nhận được thông báo lỗi giống như trong câu hỏi ( Error: 'libsass' bindings not found. Try reinstalling 'node-sass')nhưng cuối cùng tôi đã gỡ cài đặt Node v4.0.0 và cài đặt v0.12.7 bằng nvm, thông qua tập lệnh này:

https://gist.github.com/brock/5b1b70590e1171c4ab54

và bây giờ libsass và nút-sass đang hoạt động đúng.


2

bạn cũng có thể muốn npm remove gulp-sassvà cài đặt lại gulp-sass nếu bạn đã chuyển đổi phiên bản nút.


2

Tôi gặp vấn đề tương tự khi phiên bản gulp-sass là 1.3.0 và sửa nó sau khi nâng cấp lên 2.1.0.


1

Nếu bạn đến đây vì bạn đã nâng cấp nodejs trên toàn hệ thống và đột nhiên ứng dụng emberjs ^ 1.13 của bạn không thành công với thông báo này, hãy đảm bảo bạn không sử dụng phiên bản lỗi thời ember-cli-sass. Bạn sẽ cần rm -rf node_modules bower_components dist tmptrong ứng dụng Ember, sau đó cập nhật phiên bản package.jsonphù hợp ember-cli-sassvà cuối cùng npm install --save-dev. Điều này đã sửa nó cho tôi, mà không phải xây dựng lại hoặc thay đổi bất kỳ phụ thuộc nào khác.


1

Tôi xóa tất cả các /node_modulesthư mục sau đó chạy npm installvà nó hoạt động.

Tôi có nút v5.5.0, npm 3.3.12


0

Đối với tôi, vấn đề này được gây ra trong hệ thống xây dựng của tôi (Travis CI) bằng cách làm một cái gì đó ngớ ngẩn trong .travis.ymltệp của tôi . Trong thực tế, tôi đã gọi npm install trước đây nvm use 0.12 và điều này đã node-sassđược xây dựng để 0.10thay thế 0.12. Giải pháp của tôi chỉ đơn giản là chuyển nvm usera khỏi phần của .travis.ymltệp before_scriptđến trước npm installlệnh, trong before_installphần đó.

Trong trường hợp của bạn, có khả năng là bất kỳ quy trình nào bạn đang bắt đầu gulpđều sử dụng một phiên bản khác node(so với những gì bạn mong đợi).


0

Tôi gặp vấn đề tương tự như @Kos, chỉ vì một số lý do mà tôi phải sửa đổi gói gulp-sass từ package.jsontệp cũ mà tôi có. Sau đó, nó đã cài đặt các phụ thuộc hiện tại và bây giờ nó cuối cùng đã hoạt động!


0

Vấn đề của tôi là tôi đã ở trên một máy node version 0.12.2, nhưng nó đã có 1.x.xphiên bản cũ npm. Hãy chắc chắn cập nhật phiên bản npm của bạn: sudo npm install -g npmKhi đã xong, hãy xóa mọi thứ hiện có node-sassvà cài đặt lại qua npm.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.