В настоящее время я запускаю инструмент NPM node -sass, но версия libsass работает 3,2,2, а версия, которую мне нужно запустить, - 3.2.4, так как это исправляет критическую ошибку в одном которые я использую.
Я не могу найти информацию о том, как создавать и/или обновлять либо node -sass, либо libsass для удовлетворения моих требований. Я уже использую последнюю версию node -sass, 3.1.2.
Тем не менее, у моего node -sass package.json
есть пара ключ: значение, которая указывает, что libsass находится в 3.2.4, но это явно неверно.
Какой самый простой способ обновить мою версию libsass?
Обновления
6 июня
Я сделал дополнительный поиск и до сих пор не могу заставить libsass быть в версии 3.2.4. Я попытался обновить старый пакет node -sass и проверить переменные среды для переопределений. Пока нет решения.
7 июня
Похоже, что версия Libsass, полученная с помощью node -sass, равна 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();