我将一个项目升级到node-sass 4.9.4,因为不再支持我们以前的版本3.13.1,如果尝试从github加载,它将导致404。问题是,每当我尝试执行此操作时,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
我尝试过的其他事情:
npm cache clean --force
"node-sass": "^4.9.0"
"node-sass": { "version": "4.9.4"...
npm install
npm rebuild node-sass
无论我做什么,它总是尝试先加载3.13.1,并导致404错误。我对接下来可以尝试的一切完全迷失了。我已经仔细检查了我是否在与正确的package.json相同的目录中至少运行了5次命令。
第一次遇到错误时,我修复了package.json并且它起作用了,然后在进行docker-compose时出现了错误,所以我重新运行npm install
来确认它具有所有模块,此后它无论我做什么,都只会加载3.13.1。
答案 0 :(得分:1)
我尝试先使用rm -rf ./node_modules
,然后再使用npm install
。由于某种原因,它起作用了。我以前曾手动删除过该文件夹,但是单击了删除,所以我不知道它是否是我尝试过的其他东西的混合,或者仅仅是因为我是通过代码完成的。无论哪种方式,它都随后为node-sass加载4.9.4
答案 1 :(得分:1)
方法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
答案 2 :(得分:0)
我有类似的问题。我同时安装了sass和嵌套节点项目。我通过删除项目目录,父项目以及/ usr / lib和/ usr / bin中的全局安装中的node_modules来解决此问题。然后npm从上到下安装所有内容。 sass非常擅长从系统上许多不同的位置采购二进制文件。请务必使用find /usr -name *sass*
将其完全清除。
答案 3 :(得分:0)
刚刚;
npm install
花了我一天的时间,我从stackoverflow,github等中遵循了20多个过程。
答案 4 :(得分:0)
我在Laravel中遇到了同样的问题,这个过程对我有用。
我打开package.json文件并更新以下内容。
"laravel-mix": "^5.0.1",
"sass": "^1.20.1",
"sass-loader": "^8.0.0"
如果您在2020年遇到同样的问题,我认为这也将对您有用。不要忽略laravel-mix,因为node-sass是它的依赖项,因此您还必须将其更新为最新版本。 如果您将Laravel与Vue JS一起使用,则可以将所有依赖项更新到最新版本。
"axios": "^0.19",
"bootstrap": "^4.0.0",
"cross-env": "^7.0",
"jquery": "^3.2",
"laravel-mix": "^5.0.1",
"lodash": "^4.17.13",
"popper.js": "^1.12",
"resolve-url-loader": "^2.3.1",
"sass": "^1.20.1",
"sass-loader": "^8.0.0",
"vue": "^2.5.17",
"vue-template-compiler": "^2.6.10"
现在运行npm install
快乐的编码...