NPM node-sass 安装失败

Posted

技术标签:

【中文标题】NPM node-sass 安装失败【英文标题】:NPM node-sass installation fails 【发布时间】:2020-02-25 14:47:55 【问题描述】:

我正在尝试在一个项目中安装 node-sass,该项目可以在我的电脑上完美构建和运行,但在我的表面上,我在尝试安装软件包时遇到了重大问题。

注意:我已经尝试过多次重新安装和重建项目。

错误总结:

gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Users\Max-T\Documents\Sources\StaffMangerV2\black-dashboard-pro-react-v1.0.0\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Max-T\\Documents\\Sources\\StaffMangerV2\\black-dashboard-pro-react-v1.0.0\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\Users\Max-T\Documents\Sources\StaffMangerV2\black-dashboard-pro-react-v1.0.0\node_modules\node-sass
gyp ERR! node -v v12.13.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\react-scripts\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted "os":"darwin","arch":"any" (current: "os":"win32","arch":"x64")
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted "os":"darwin","arch":"any" (current: "os":"win32","arch":"x64")

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.11.0 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@4.11.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Max-T\AppData\Roaming\npm-cache\_logs\2019-10-30T10_05_01_386Z-debug.log

package.json => https://hastebin.com/azetegukes.pl 太多的代码,所以我不得不将它粘贴到其他地方。

【问题讨论】:

你试过用纱线吗?在大多数情况下,纱线解决了我的问题。 你检查过你的 npm 配置文件了吗?它是否正确,因为有时它会损坏并导致此类问题。你可以运行 npm run --config @Mohit 试过了,但输出对我来说似乎很好 => hastebin @RehanSattar 之前和现在都试过了,有完整的错误日志 => hastebin 使用NODE VERSION 10,它会工作,在同一台PC上使用多个节点版本,你可以使用NVM 【参考方案1】:

您使用的是 Node 12,并且 node-sass 至少需要 4.12 才能支持该版本https://github.com/sass/node-sass#node-version-support-policy

【讨论】:

谢谢,这实际上修复了安装错误,但我仍然在浏览器中遇到同样的错误 => hastebin 这看起来像是一个单独的问题 确实是这样...所以我会问一个新的。 值得一提的是,每个 Node 版本都有一个特定的所需 node-sass 版本,更多信息在这里:github.com/sass/node-sass#node-version-support-policy【参考方案2】:

如果最近有人遇到这种情况...最简单的解决方法是在您的依赖项中将 node-sass 替换为 sass。这是最近维护的版本,我只需要更改 1 行代码的初始化方式,我现有的所有代码都已经兼容了。

如何迁移下https://sass-lang.com/blog/libsass-is-deprecated有更多详细信息。

【讨论】:

你是最棒的。你救了我。谢谢朋友。【参考方案3】:

试试这个对我有用的命令

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

【讨论】:

我目前无法验证这一点,但我希望它对某人有所帮助。【参考方案4】:

2个多小时尝试各种方式(清理npm缓存,删除node_modules,尝试用全局开关-g安装等)安装node-sass,每次都失败,终于换了镜像到中国,它立即对我有用! (考虑到我遇到的错误,我知道这没有任何意义)

仅供参考,这是我在它最终起作用之前收到的错误:

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.14.0 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@4.14.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\****\AppData\Roaming\npm-cache\_logs\2020-06-06T13_56_56_768Z-debug.log

我的节点版本:v12.18.0 package.json 中的 node-sass 版本:“^4.14.0”

我按照node-sass npm page中的说明更改了镜像。

npm install -g mirror-config-china --registry=http://registry.npm.taobao.org
npm install node-sass

希望对您有所帮助。

【讨论】:

以上是关于NPM node-sass 安装失败的主要内容,如果未能解决你的问题,请参考以下文章

node-sass安装失败之npm ERR! Failed at the node-sass@4.12.0 postinstall script.

前端开发环境搭建踩坑笔记——npm install node-sass安装失败的解决方案

[Vue] npm install 如果安装node-sass失败,可以用如下方法解决

[Vue] npm install 如果安装node-sass失败,可以用如下方法解决

node-sass 安装失败的解决措施

npm install:在 node-sass@3.13.1 安装后脚本失败