ลองติดตั้งใหม่ 'node-sass` บนโหนด 0.12


263

ฉันต้องการใช้ชุดเริ่มต้นของเว็บ google ผมติดตั้ง v0.12.0 node-sassNode.js, gulpและ

จากนั้นจึงวิ่ง:

$ sudo npm install

เมื่อฉันพิมพ์gulp serveแล้วมีข้อผิดพลาดนี้:

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

ฉันติดตั้งใหม่โหนดและอึก แต่มันไม่ได้ช่วย

ฉันควรทำอย่างไรต่อไป


โหนดการดาวน์เกรดทำงานให้ฉัน
zero_cool

คำตอบ:


386

หากเวอร์ชันโหนดของคุณคือ 4 และคุณใช้ gulp-sass ให้ลอง

npm uninstall --save-dev gulp-sass

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

5
ปัญหาแบบคงที่ฉันในโหนด 4.1 :) ty
Zalaboza

แก้ไขสำหรับฉันใน Debian 8.1 และ Node 4.1 ด้วย ขอบคุณมาก.
VinceOPS

3
ขอบคุณ. น่าจะเป็นคำตอบนี้ควรจะทำเครื่องหมายว่า "ถูกต้อง")
Paul Paca-Vaca Seleznev

1
ขอบคุณใช้เวลามากมายในการพยายามแก้ไขปัญหานี้และนี่คือโซลูชันที่ใช้งานได้!
HjalmarCarlson

1
ยังแก้ไขปัญหาใน v6.9.2 ณ เดือนธันวาคม 2559 ขอบคุณ!
digitalformula

341

ฉันพบคำสั่งที่มีประโยชน์นี้:

npm rebuild node-sass

จากrebuild เอกสาร :

สิ่งนี้มีประโยชน์เมื่อคุณติดตั้งโหนดเวอร์ชันใหม่ (หรือสลับรุ่นโหนด) และต้องคอมไพล์ C ++ addons ของคุณทั้งหมดด้วยใหม่ node.js ไบนารี

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


5
มีข้อผิดพลาดมากมายเช่นPython not supported byและFailed at the node-sass@0.8.6 install script 'node build.js'
AlikElzin-kilaka

14
นี่ควรเป็นคำตอบที่ได้รับการยอมรับเพราะมันใช้งานน้อยที่สุดในการแก้ไขปัญหาที่เกิดขึ้นจริง
TheHippo

1
@ AlikElzin-kilaka: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Python และตัวแปรสภาพแวดล้อมPYTHONตั้งให้ชี้การติดตั้ง
Roope Hakulinen

2
ฉันลองสิ่งนี้ก่อนสิ่งอื่นใดและมันทำงานได้อย่างสมบูรณ์ ไชโย
ConorLuddy

15
ฉันได้รับError: Cannot find module 'node_modules/node-sass/node_modules/pangyp/bin/node-gyp'
lrkwz

233

ฉันพบข้อผิดพลาดนี้โดยใช้โหนด0.12.0และได้รับการแก้ไขโดยการลบ/node_modulesไดเรกทอรีที่มีอยู่และทำงานnpm updateอยู่


สิ่งนี้จะไม่ทำงานหากคุณไม่มีการอ้างอิงทั้งหมดที่ระบุไว้ใน package.json
Victor Marchuk

ฉันต้องลบโฟลเดอร์แล้วเรียกใช้การติดตั้ง npm จากนั้นอัปเดต npm แต่สิ่งนี้ชี้ให้ฉันในทิศทางที่ถูกต้อง ขอบคุณ!
ทิโมธี

การลบ node_modules โฟลเดอร์ที่เกิด: เมื่อทำงานError: Cannot find module 'c:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js' npm update
AlikElzin-kilaka

41
นี่คือทางออกที่รุนแรง เพียงแค่ใช้npm rebuild node-sassซึ่งเป็นพิเศษสำหรับการสร้าง C ++ แอดออนใหม่
Chris Sattinger

2
ไม่สามารถแก้ไขอะไรสำหรับฉัน :(
Isochronous

84

npm rebuild node-sassทำให้ฉันมีข้อผิดพลาด (Ubuntu) และnpm install gulp-sassไม่ทำให้ข้อผิดพลาดหายไป

เห็นวิธีแก้ปัญหาสำหรับ GitHub ที่เหมาะกับฉัน:

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass


ทำงานวันนี้สำหรับรุ่น @lastest
gtamborero

22

ฉันมีปัญหาเดียวกัน:

  • การติดตั้ง node-sass
  • ได้รับแจ้งเมื่อสิ้นสุดการติดตั้งว่าการติดตั้งเสร็จสมบูรณ์
  • จากนั้นถูกขอให้ติดตั้ง node-sass อีกครั้ง

ทางออกคือการติดตั้ง node-sass เวอร์ชัน 2ซึ่งรองรับโหนดรุ่นปัจจุบัน ดูhttps://github.com/sass/node-sass/issues/490#issuecomment-70388754

วิ่ง:

npm install node-sass@2

จากนั้นให้ทดสอบอีกครั้ง:

$ 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
สำหรับพวกเราที่ใช้งาน 'grunt-sass' โปรดตรวจสอบและอัปเดต: 'npm install --save-dev grunt-sass'
natepers

19

หากคุณใช้อึกแล้วลอง:

npm install gulp-sass

ฉันมีปัญหาเดียวกันและgulp-sassแพคเกจก็เป็นปัญหา


ใช้สิ่งนี้หลังจาก "ถอนการติดตั้ง npm --save-dev gulp-sass" แก้ไขปัญหาให้ฉัน
Sul Aga

2
npm install grunt-sassแก้ไขปัญหาให้ฉัน
พอลชรีเบอร์

11

ฉันมีปัญหาเดียวกันวันนี้ที่ทำงาน

npm rebuild node-sass

ทำงานให้ฉัน


9

การลดระดับโหนดเป็น 0.10.36 ควรทำต่อเธรดนี้บนหน้าโหนด -sass github: https://github.com/sass/node-sass/issues/490#issuecomment-70388754

หากคุณมี NVM คุณสามารถ:

nvm install 0.10

หากไม่มีคุณสามารถค้นหา NVM และคำแนะนำได้ที่นี่: https://www.npmjs.com/package/nvm


แก้ไขปัญหาให้ฉัน nvm ยังมีให้ใช้งานผ่าน homebrew สำหรับผู้ใช้ Mac: "ชงติดตั้ง nvm" หลังจากเปลี่ยนเป็นเวอร์ชั่น 0.10.36 ตรวจสอบให้แน่ใจว่ามันใช้งานได้จริง: "node -v"
cjoy

9
การลดระดับโหนดเป็นวิธีแก้ปัญหามากกว่าคำตอบ
mikemaccana

1
ข้อผิดพลาดนี้ได้รับการแก้ไขใน node-sass@2.0.1- ตามที่ @mikemaccana ค้นพบในตอนท้ายของตั๋วที่อ้างอิงโดยคำตอบนี้ ดูความคิดเห็นของเขาในหัวข้อนี้
natepers

1
ผู้ใช้ฮึดฮัดเขื่อง 'ควรปรับปรุงหลังปรับปรุง 'โหนดเขื่อง' ถ้าคุณยังคงประสบปัญหา: 'NPM ติดตั้ง --save-dev ฮึดฮัดเขื่อง'
natepers

3

คำตอบนี้เป็นมุมฉากของ OP แต่ -

การเชื่อมโยง libsass ไม่ได้ติดตั้งอย่างถูกต้องด้วย node-sass wrapper บน Node v4.0.0 ฉันได้รับข้อความแสดงข้อผิดพลาดเช่นเดียวกับในคำถาม ( Error: 'libsass' bindings not found. Try reinstalling 'node-sass')แต่ฉันลงเอยด้วยการถอนการติดตั้ง Node v4.0.0 และติดตั้ง v0.12.7 โดยใช้ nvm ผ่านสคริปต์นี้:

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

และตอนนี้ libsass และ node-sass กำลังทำงานอย่างถูกต้อง


2

คุณอาจต้องการnpm remove gulp-sassและติดตั้ง gulp-sass อีกครั้งหากคุณเปลี่ยนรุ่นโหนด


2

ฉันมีปัญหาเดียวกันเมื่อเวอร์ชัน gulp-sass เป็น 1.3.0 และแก้ไขได้หลังจากอัปเกรดเป็น 2.1.0


1

หากคุณมาที่นี่เพราะคุณอัพเกรด nodejs systemwide และจู่ ๆ emberjs ของคุณ ^ 1.13 ember-cli-sassแอปเป็นความล้มเหลวด้วยข้อความนี้ให้แน่ใจว่าคุณไม่ได้ใช้รุ่นเก่า คุณจะต้องrm -rf node_modules bower_components dist tmpภายใน Ember แอปแล้วอัปเดตของคุณpackage.jsonด้วยที่เหมาะสมรุ่นและในที่สุดก็ember-cli-sass npm install --save-devการแก้ไขนี้สำหรับฉันโดยไม่ต้องสร้างหรือเปลี่ยนแปลงการพึ่งพาอื่น ๆ


1

ฉันลบ/node_modulesโฟลเดอร์ทั้งหมดออกจากนั้นnpm installก็ทำงานได้

ฉันมีโหนด v5.5.0, npm 3.3.12


0

สำหรับฉันปัญหานี้เกิดขึ้นในระบบการสร้างของฉัน (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ส่วน

ในกรณีของคุณเป็นไปได้ว่ากระบวนการใด ๆ ที่คุณเริ่มด้วยการgulpใช้เวอร์ชันที่แตกต่างกันของnode(มากกว่าที่คุณคาดไว้)


0

ฉันมีปัญหาเช่นเดียวกับ @Kos มีเพียงบางเหตุผลที่ฉันต้องแก้ไขแพ็คเกจ gulp-sass จากpackage.jsonไฟล์เก่าที่ฉันมี จากนั้นติดตั้งการอ้างอิงในปัจจุบันและในที่สุดก็ใช้งานได้!


0

ปัญหาของฉันคือการที่ฉันอยู่บนเครื่องที่มีnode version 0.12.2แต่ที่มีความเก่ารุ่น1.x.x npmอย่าลืมอัปเดตเวอร์ชัน npm ของคุณ: sudo npm install -g npmเมื่อเสร็จแล้วให้ลบที่มีอยู่แล้วออกnode-sassและติดตั้งใหม่ผ่าน npm


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.