【问题标题】:npm run script failing to compile sassnpm 运行脚本无法编译 sass
【发布时间】:2018-11-28 20:50:42
【问题描述】:

因此,似乎在更新了brackets.io 之后,我无法再运行使用node-sass 编译我的sass 代码的脚本。我还是新手,所以请耐心等待。

这是我尝试 npm 运行脚本时的错误文件:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Users\\Tad\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'compile:sass' ]
2 info using npm@6.0.0
3 info using node@v8.11.1
4 verbose run-script [ 'precompile:sass', 'compile:sass', 'postcompile:sass' ]
5 info lifecycle natours@1.0.0~precompile:sass: natours@1.0.0
6 info lifecycle natours@1.0.0~compile:sass: natours@1.0.0
7 verbose lifecycle natours@1.0.0~compile:sass: unsafe-perm in lifecycle true
8 verbose lifecycle natours@1.0.0~compile:sass: PATH: C:\Users\Tad\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\Tad\Desktop\starter\node_modules\.bin;C:\Program Files\ImageMagick-7.0.5-Q16;C:\Python27\;C:\Python27\Scripts;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\Program Files\Git\cmd;C:\Program Files\nodejs\;C:\Program Files (x86)\Brackets\command;C:\Users\Tad\AppData\Roaming\npm
9 verbose lifecycle natours@1.0.0~compile:sass: CWD: C:\Users\Tad\Desktop\starter
10 silly lifecycle natours@1.0.0~compile:sass: Args: [ '/d /s /c', 'node-sass sass/main.scss css/style.css -w' ]
11 silly lifecycle natours@1.0.0~compile:sass: Returned: code: 3221225786  signal: null
12 info lifecycle natours@1.0.0~compile:sass: Failed to exec compile:sass script
13 verbose stack Error: natours@1.0.0 compile:sass: `node-sass sass/main.scss css/style.css -w`
13 verbose stack Exit status 3221225786
13 verbose stack     at EventEmitter.<anonymous> (C:\Users\Tad\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:283:16)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at EventEmitter.emit (events.js:214:7)
13 verbose stack     at ChildProcess.<anonymous> (C:\Users\Tad\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at ChildProcess.emit (events.js:214:7)
13 verbose stack     at maybeClose (internal/child_process.js:925:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid natours@1.0.0
15 verbose cwd C:\Users\Tad\Desktop\starter
16 verbose Windows_NT 6.1.7601
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Tad\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "compile:sass"
18 verbose node v8.11.1
19 verbose npm  v6.0.0
20 error code ELIFECYCLE
21 error errno 3221225786
22 error natours@1.0.0 compile:sass: `node-sass sass/main.scss css/style.css -w`
22 error Exit status 3221225786
23 error Failed at the natours@1.0.0 compile:sass script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 3221225786, true ]

当我尝试 npm 重建 node-sass -force 时:

gyp ERR! build error 
gyp ERR! stack Error: Command failed: reg query "HKLM\Software\Microsoft\MSBuild \ToolsVersions" /s /reg:32 
gyp ERR! stack 'reg' is not recognized as an internal or external command, 
gyp ERR! stack operable program or batch file. 
gyp ERR! stack gyp ERR! stack Can't find "msbuild.exe". Do you have Microsoft Visual Studio C++  2008+ installed? 
gyp ERR! stack     at C:\Users\Tad\Desktop\starter\node_modules\node-gyp\lib\bui ld.js:138:25 
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:282:5) 
gyp ERR! stack     at emitTwo (events.js:126:13) 
gyp ERR! stack     at ChildProcess.emit (events.js:214:7) 
gyp ERR! stack     at maybeClose (internal/child_process.js:925:16) 
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_proces s.js:209:5) 
gyp ERR! System Windows_NT 6.1.7601 
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Tad\\Desktop\ \starter\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--lib sass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" 
gyp ERR! cwd C:\Users\Tad\Desktop\starter\node_modules\node-sass 
gyp ERR! node -v v8.11.1 
gyp ERR! node-gyp -v v3.6.2 
gyp ERR! not ok Build failed with error code: 

我有 MS VS 2008+,我下载了 MS Build Tools 2015,认为这可能会有所帮助,但它仍然不起作用。

另外,如果没有简单的解决方法,我是否只需手动从我的项目中删除 node-sass,然后重新安装它?

任何帮助将不胜感激。

【问题讨论】:

    标签: npm sass node-sass npm-scripts


    【解决方案1】:

    npm install --global --production windows-build-tools

    【讨论】:

    • 此答案复制了现有答案,但没有提供更多细节。
    【解决方案2】:

    它曾经在办公室工作站上发生在我身上,如果我没记错的话,这个命令是为我做的

    npm install --global --production windows-build-tools

    这是关于 windows 构建问题的 github 问题页面https://github.com/sass/node-sass/issues/2074

    【讨论】:

    • 谢谢。我会检查一下。我会告诉你它是否有效。
    • 成功了。太感谢了。安装 windows-build-tools 后,我运行了npm rebuild node-sass,我的脚本又开始工作了。不知道为什么在括号更新后开始发生这种情况,但我很高兴它已修复。
    • @Outrunx 很高兴它有帮助。 Windows 构建毕竟有点棘手。与 unix 对应的版本相比,在 windows 中构建时,我遇到了一些不工作的 lib。但它在最近的版本中变得更加稳定恕我直言。如果有帮助,请您将我的答案标记为已接受。
    猜你喜欢
    • 1970-01-01
    • 2021-10-05
    • 2018-07-06
    • 1970-01-01
    • 2017-01-03
    • 2020-01-21
    • 1970-01-01
    • 2017-09-09
    • 2021-09-07
    相关资源
    最近更新 更多