Saya menggunakan VS2015 dan Gulp. Saya membuka Task Runner Explorer dan menekan refresh, dan ini muncul di log:
Failed to run "C:\Projects\Test\Gulpfile.js"...
cmd.exe /c gulp --tasks-simple
Error: `libsass` bindings not found in C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\binding.node. Try reinstalling `node-sass`?
at Object.sass.getBinaryPath (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\extensions.js:148:11)
at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\index.js:16:36)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\index.js:163:21)
at Module._compile (module.js:456:26)
Jadi saya mencoba menjalankan cmd.exe /c gulp --tasks-simple
di PowerShell, di direktori yang sama, dan berfungsi dengan baik - ini mengembalikan daftar tugas.
Saya juga dapat menjalankan tugas terkait SASS saya dengan baik, jadi saya tidak yakin mengapa ini mengeluh tentang SASS ketika dijalankan melalui VS tetapi tidak langsung pada baris perintah.
Tampaknya gulp-sass mencari node-sass di lokasi yang berbeda. Ini solusi sementara.
buat direktori baru bernama win32-ia32-11 di dalam c: \ Projects \ Test \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \
Buka https://github.com/sass/node-sass-binaries dan unduh win32-ia32-11_binding.node.
Salin file win32-ia32-11_binding.node ke c: \ Projects \ Test \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \ win32-ia32-11 \ dan ganti namanya menjadi binding.node
sumber
.npmrc
file dengan opsi konfigurasi yang sesuai, tetapi tidak berhasil. Bahkan berjalannpm install
dalam konsol PS 32-bit, versi 64-bit masih diinstal.win32-ia32-14
bukanwin32-ia32-11
- yang karena alasan tertentu adalah apalibsass
yang mencari ...Saya telah mencoba semua solusi di atas tetapi tidak berhasil dan saya menemukan solusi lain di sini .
Anda harus memaksa Visual Studio dijalankan dengan versi Node.js Anda:
Tools
>Options
di Visual Studio 2015Projects and Solutions
>External Web Tools
C:\Program Files\nodejs
sumber
Satu-satunya solusi yang memecahkan masalah saya adalah menginstal ulang NPM Task Runner. Anda dapat mendownloadnya dari link berikut di marketplace.
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.NPMTaskRunner
sumber
node-sass menjalankan skrip instalasi untuk mengunduh biner yang diperlukan. Jika tidak ada variabel lingkungan, variabel .npmrc, atau argumen proses yang disetel, maka biner ditentukan dengan menggunakan platform proses saat ini, arsitektur, dan versi Node ABI. Oleh karena itu, jika Anda menjalankan pemasangan node dalam satu aplikasi dan kemudian mencoba menjalankan node-sass dalam aplikasi dengan platform / arsitektur / ABI yang berbeda, biner tidak akan diunduh. Solusinya adalah mengunduh biner secara manual atau memperbaiki versi biner menggunakan variabel lingkungan (SASS_BINARY_NAME) atau variabel .npmrc (sass_binary_name)
Anda dapat melihat logikanya untuk ini di fungsi getBinaryPath di node-sass \ lib \ extensions.js
Lihat juga: Node Sass tidak dapat menemukan pengikatan untuk lingkungan Anda saat ini
sumber