npm安装 -> node-sass@4.5.0的postinstall脚本失败

133

我尝试执行npm install时出现错误:

Failed at the node-sass@4.5.0 postinstall script.

我尝试删除node_modules并重新安装,但是出现了相同的错误。有什么解决方法吗?

node 版本号为 v8.9.3
npm 版本号为 v5.4.2
ionic 版本号为 3.19.0


1
请发布完整的错误日志。 - Jayamurugan
19个回答

167

我遇到了同样的问题(node v10.3.0,ionic 3.13.0)。 这个方法有效:

  • 删除package-lock.json文件,
  • 删除node_modules文件夹,
  • 再次运行npm install命令。

50
这是npm版的“你尝试过关闭再重新打开吗” ‍♀️ - mislavcimpersak
1
它起作用了。任何遇到这个问题的人都应该尝试一下,我也想知道只清除缓存而不删除整个文件夹是否也可以起作用。 - Sagar Khatri
2
你让我开心了 :D - marcus
1
@marcus 很高兴它能帮到你和其他人 :-) - Michaël Polla
干得好 :) 谢谢啊 - Anand_5050
package.backup.json是package-lock.json的替代品吗?我在我的ionic应用程序文件夹中找不到package-lock.json。 - mykoman

58

尝试

sudo rm -rf package-lock.json node_modules
sudo npm cache clean --force
npm i --unsafe-perm node-sass

2
没有用sudo运行,完美地工作了。谢谢 :) - 8bithero
4
不要在使用npm i命令时加sudo。 - Daniel

44

试试这个命令,希望对你有很大的帮助。 对我有效。

sudo npm install -g node-sass@4.5.0 --unsafe-perm=true --allow-root

2
在这个噩梦般的问题上我花了好几个小时,最终在我的Mac上找到了解决方案。谢谢! - Chris Hawkes
4
sudo npm install --unsafe-perm=true --allow-root同样有效。 - emen
2
在我使用"sudo npm cache clean --force"命令之后,这对我有效。 - MRP
@AbhaySingh 上述错误已经解决,但是出现了其他的错误。 - Kapil Soni
1
@SirPedr 最重要的是,这个问题在2020年仍然存在...我每隔几年就会回到这里。 - user276648
显示剩余3条评论

26

回滚到节点v10.17.0解决了我的问题。

你可以使用nvm来实现:

https://github.com/nvm-sh/nvm

> nvm install 10.17.0
> nvm use 10.17.0
> node -v
10.17.0

1
这个完美无缺地运行了!救了我一命啊! - Gaurav
1
你是我的英雄))我搜索了正确版本的nvm,你为我节省了时间。 - Jackkobec

21

我也遇到了与node v12.16.3相同的问题。

  1. 如果你的package.json中有node-sass依赖,请将其删除,这样npm就可以安装其他所需的依赖项而不会出现任何问题。

  2. 从项目中删除package-lock.json文件和node_modules文件夹。

  3. 使用以下命令强制清除整个NPM缓存:

  4. npm cache clean --force
    
  5. 重新安装所有依赖项。

    npm install
    
    现在您可以安装node-sass
  6. npm i node-sass
    

1
如果您不想降级您的Node版本,您可以尝试这个解决方案,它对我有效!感谢@Aravinda。 - itsHarshad
2
Node 让我说出像“我简直不敢相信这个能行”这样的话... - Albert
1
你帮我节省了时间 :) - Morteza QorbanAlizade

18

6

使用此标志--unsafe-perm=true


sudo npm i gulp-sass -ES --unsafe-perm=true

对我有用。谢谢。 - Niño Angelo Orlanes Lapura

4

卸载当前的npm并安装较低版本,如果版本不匹配,则常见错误,降级node/npm将大多数解决此类问题。

npm install -g npm@4.6.1

我执行了npm uninstall,然后执行npm install -g npm@4.6.1,但是没有起作用。 - Joe Sleiman
我使用 nvm 安装了 lts/boron,这是最新的 node 6 版本。之后一切都运行正常。 - michael

3

在卸载node-sass后,请尝试清除npm缓存,然后再次尝试安装node-sass。

npm cache clean && npm install node-sass

我尝试使用npm@4.6.1,我应该将其升级到v8.9.3吗? - Joe Sleiman
清空缓存对我有用,但对于我的npm版本,必须使用npm cache clean --force && npm install node-sass - SalientGreen

3

支持 Node 8 的 node-sass 最低版本是4.5.3。您需要升级node-sass或将Node版本降级。由于Ionic不是与node-sass一起测试的平台,因此可能会出现单独的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接