私は現在、NPM の node-sass ツールを実行していますが、実行している libsass のバージョンは 3.2.2 であり、実行する必要があるバージョンは 3.2.4 です。これにより、フレームワークの 1 つの重大なバグが修正されます。使用しています。
node-sass または libsass をビルドおよび/または更新して要件を満たす方法に関する情報が見つかりません。node-sass の最新バージョンである 3.1.2 を既に実行しています。
それでも、私の node-sasspackage.json
には、libsass が 3.2.4 であることを示す key:value ペアがあるようですが、これは明らかに正しくありません。
libsass のバージョンをアップグレードする最も簡単な方法は何ですか?
アップデート
6月6日
さらに検索を行いましたが、libsass のバージョンを 3.2.4 にすることができません。node-sass の古いパッケージをアップグレードして、環境変数のオーバーライドを確認してみました。まだ解決策はありません。
6月7日
node-sass をソースとする Libsass のバージョンは 3.2.4 のようですが、ピックアップされておらず、デフォルトで Libass になっていますbinarypath
。
path.join(__dirname, '..', 'vendor', sass.binaryName.replace(/_/, '/'));
私のマシンでは、次の結果が得られます。
H:\myproj\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-x64-14\binding.node
これが何を意味するのかわかりません。node-sass\lib\extensions.js
134行目を見てください:
sass.getBinaryPath = function(throwIfNotExists) {
var binaryPath;
if (flags['--sass-binary-path']) {
binaryPath = flags['--sass-binary-path'];
} else if (process.env.SASS_BINARY_PATH) {
binaryPath = process.env.SASS_BINARY_PATH;
} else if (pkg.nodeSassConfig && pkg.nodeSassConfig.binaryPath) {
binaryPath = pkg.nodeSassConfig.binaryPath;
// This is the only statement that executes successfully, my libsass binary path is coming from this location. Why?
} else {
binaryPath = path.join(__dirname, '..', 'vendor', sass.binaryName.replace(/_/, '/'));
}
if (!fs.existsSync(binaryPath) && throwIfNotExists) {
throw new Error(['`libsass` bindings not found in ', binaryPath, '. Try reinstalling `node-sass`?'].join(''));
}
return binaryPath;
};
sass.binaryPath = sass.getBinaryPath();