npm пытается загрузить неправильную версию node-sass - PullRequest
0 голосов
/ 30 октября 2018

Я обновляю проект до node-sass 4.9.4, потому что наша предыдущая версия 3.13.1 больше не поддерживается и приведет к 404 при попытке загрузки с github. Проблема в том, что всякий раз, когда я пытаюсь это сделать, npm пытается загрузить node-sass@3.13.1

Я пытался сделать npm install node-sass@4.9.4, npm install node-sass@4.9.3 и npm install node-sass@latest, но он пытается загрузить 3.13.1 каждый раз, что приводит к следующей ошибке:

$ npm install node-sass@4.9.3

> node-sass@3.13.1 install D:\Projects\Repos\bluemill\mle-website\node_modules\gulp-sass\node_modules\node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-57_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-57_binding.node":

HTTP error 404 Not Found

Hint: If github.com is not accessible in your location
      try setting a proxy via HTTP_PROXY, e.g.

      export HTTP_PROXY=http://example.com:1234

or configure npm proxy via

      npm config set proxy http://example.com:8080

> node-sass@4.9.3 install D:\Projects\Repos\bluemill\mle-website\node_modules\node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.9.3/win32-x64-57_binding.node
Download complete
Binary saved to D:\Projects\Repos\bluemill\mle-website\node_modules\node-sass\vendor\win32-x64-57\binding.node
Caching binary to C:\Users\Tyler\AppData\Roaming\npm-cache\node-sass\4.9.3\win32-x64-57_binding.node

> node-sass@3.13.1 postinstall D:\Projects\Repos\bluemill\mle-website\node_modules\gulp-sass\node_modules\node-sass
> node scripts/build.js

Другие вещи, которые я пробовал:

  • Перезагрузка моего компьютера
  • Перезапуск докера
  • Перезапуск git bash (я на Windows)
  • Бег npm cache clean --force
  • Переход в папку node-sass 4.9.4 npm-cache, загрузка и установка привязки вручную
  • Установка "node-sass": "^4.9.0" в package.json для правильной папки
  • Установка "node-sass": { "version": "4.9.4"... в package-lock.json
  • Проверены package.json и package-lock.json на наличие дублирующих требований node-sass, которые могут быть установлены для другой версии (других нет)
  • Удаление папки node_modules и повторный запуск npm install
  • Бег npm rebuild node-sass

Независимо от того, что я делаю, он всегда сначала пытается загрузить 3.13.1 и приводит к ошибке 404. Я в полном недоумении относительно того, что я могу попробовать дальше. Я дважды проверил, что я выполняю команды в том же каталоге, что и правильный package.json, по крайней мере 5 раз.

В первый раз, когда я получил ошибку, я исправил package.json, и он заработал, затем я получил ошибку при выполнении docker-compose, поэтому я перезапустил npm install, чтобы подтвердить, что у него есть все модули, так как тогда он только загружает 3.13.1 независимо от того, что я делаю.

Ответы [ 3 ]

0 голосов
/ 30 октября 2018

Метод 1 :

sudo npm i -g node-gyp


sudo npm install node-sass --save-dev --unsafe-perm=true

sudo rm -rf node_modules && npm rebuild node-sass && npm i

Метод 2 :

sudo npm install --unsafe-perm -g node-sass

Рекомендовано: Метод 3

rm -rf ./node_modules
sudo rm package-lock.json 
sudo npm install --unsafe-perm

Если вы попытаетесь установить только node-sass или laravel-mix

sudo npm install --unsafe-perm node-sass
sudo npm install --unsafe-perm laravel-mix

Используйте флаг -g, если вы хотите установить глобально:

sudo npm install --unsafe-perm -g node-sass
sudo npm install --unsafe-perm -g laravel-mix
0 голосов
/ 09 августа 2019

У меня была похожая проблема. У меня были и глобальные установки проектов sass и nested. Я исправил проблему, удалив node_modules в каталоге проекта, родительском проекте и глобальных установках в / usr / lib и / usr / bin. Тогда npm установи все сверху вниз. sass очень хорош в поиске бинарных файлов из разных мест вашей системы. не забудьте выкорчевать их всех с помощью find /usr -name *sass*.

0 голосов
/ 30 октября 2018

Я пытался использовать rm -rf ./node_modules, а затем npm install. По какой-то причине это сработало. Ранее я удалил папку вручную, но нажал кнопку «Удалить», так что я не знаю, была ли это смесь других вещей, которые я пробовал и это или просто потому, что я сделал это с помощью кода. В любом случае, он загрузил 4.9.4 для node-sass

...