在node-sass@4.7.2安装后脚本失败

Sim*_*mon 8 sass node.js npm node-sass

我刚刚下载了最新版本的,node.js并且一直在尝试执行npm install我的一个项目,但是却说:

在node-sass@4.7.2安装后脚本失败。

我试着做:npm rebuild node-sass --force这也没做。

在此处输入图片说明

错误日志返回以下内容:

3209 warn angularfire2@5.0.0-rc.10 requires a peer of @angular/common@^6.0.0 
but none is installed. You must install peer dependencies yourself.
3210 warn angularfire2@5.0.0-rc.10 requires a peer of @angular/core@^6.0.0 but none is installed. You must install peer dependencies yourself.
3211 warn angularfire2@5.0.0-rc.10 requires a peer of @angular/platform-browser@^6.0.0 but none is installed. You must install peer dependencies yourself.
3212 warn angularfire2@5.0.0-rc.10 requires a peer of @angular/platform-browser-dynamic@^6.0.0 but none is installed. You must install peer dependencies yourself.
3213 warn angularfire2@5.0.0-rc.10 requires a peer of firebase@^5.0.3 but none is installed. You must install peer dependencies yourself.
3214 warn angularfire2@5.0.0-rc.10 requires a peer of rxjs@^6.0.0 but none is installed. You must install peer dependencies yourself.
3215 warn geofire@4.1.2 requires a peer of firebase@^2.4.0 || 3.x.x but none is installed. You must install peer dependencies yourself.
3216 warn optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
3217 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
3218 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS:    darwin
3218 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch:  any
3218 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS:   win32
3218 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: x64
3219 verbose stack Error: node-sass@4.7.2 postinstall: `node scripts/build.js`
3219 verbose stack Exit status 1
3219 verbose stack     at EventEmitter.<anonymous> (C:\Users\Simon K\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:283:16)
3219 verbose stack     at emitTwo (events.js:126:13)
3219 verbose stack     at EventEmitter.emit (events.js:214:7)
3219 verbose stack     at ChildProcess.<anonymous> (C:\Users\Simon K\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
3219 verbose stack     at emitTwo (events.js:126:13)
3219 verbose stack     at ChildProcess.emit (events.js:214:7)
3219 verbose stack     at maybeClose (internal/child_process.js:925:16)
3219 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
3220 verbose pkgid node-sass@4.7.2
3221 verbose cwd C:\xampp\htdocs\project x\projectx
3222 verbose Windows_NT 10.0.16299
3223 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Simon K\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install"
3224 verbose node v8.11.2
3225 verbose npm  v6.0.1
3226 error code ELIFECYCLE
3227 error errno 1
3228 error node-sass@4.7.2 postinstall: `node scripts/build.js`
3228 error Exit status 1
3229 error Failed at the node-sass@4.7.2 postinstall script.
3229 error This is probably not a problem with npm. There is likely additional logging output above.
3230 verbose exit [ 1, true ]
Run Code Online (Sandbox Code Playgroud)

我的npm和node版本是:

2 info using npm@6.0.1
3 info using node@v8.11.2
Run Code Online (Sandbox Code Playgroud)

我也尝试过完全删除我的node_modules文件夹并npm install再次运行,但这没有用。

一个可能的原因可能是,我更新节点之前,我遵循了此人的建议:https : //github.com/angular/angular-cli/issues/10527

他说的地方:

  1. 下载并保存正确版本的node-sass二进制文件的本地副本-win32-x64-64_binding.node。例如,将其下载到以下位置:C:\ node-sass \ win32-x64-64_binding.node
  2. 在sass_binary_path npm配置参数(在〜/ .npmrc文件中)中提供对node-sass二进制文件的完整路径的引用:npm config set sass_binary_path例如,npm config set sass_binary_path C:\ node-sass \ win32-x64 -64_binding.node
  3. 再次运行npm install命令以正确安装@ angular / cli。
  4. 执行ng服务或npm启动,您应该可以解决问题了。

我不知道这是否相关..我不会这样,因为我已经更新了节点,试图强制node-sass重建,但我不知道。

有关如何解决此问题的任何想法/建议?谢谢!

小智 22

尝试这个

npm audit
npm audit fix
Run Code Online (Sandbox Code Playgroud)


Yam*_*bra 6

从 node_modules 中仅删除 node-sass 文件夹并运行以下命令

npm install node-sass@4.7.2 --save
Run Code Online (Sandbox Code Playgroud)


小智 5

不需要做太多事情,你面临这个问题是因为你试图安装 npm sass@4.7.2 而不知道它是否与你的 pm 版本兼容,所以最好的解决方案是编写下面提到的命令:

npm install --save-dev node-sass

这将在您的系统上安装 npm sass,该系统与您拥有的 npm 版本兼容。谢谢,我先,去运行命令