【问题标题】:Yarn add node-sass fails纱线添加节点 sass 失败
【发布时间】:2019-01-20 02:57:23
【问题描述】:

我正在学习一个教程,没什么特别的。我正在尝试通过yarn add 添加node-sasssass-loader

我运行的命令(我也尝试了可用的最新版本):

yarn add sass-loader@6.0.6 node-sass@4.5.3

这失败了,这是输出:

yarn add v1.9.2
[1/4] Resolving packages...
[2/4] Fetching packages...
warning Pattern ["colors@latest"] is trying to unpack in the same destination "C
:\\Users\\sagil\\AppData\\Local\\Yarn\\Cache\\v1\\npm-colors-1.1.2-168a4701756b6
a7f51a12ce0c97bfa28c084ed63" as pattern ["colors@~1.1.2"]. This could result in
non-deterministic behavior, skipping.
warning Pattern ["object-assign@latest"] is trying to unpack in the same destina
tion "C:\\Users\\sagil\\AppData\\Local\\Yarn\\Cache\\v1\\npm-object-assign-4.1.1
-2109adc7965887cfc05cbbd442cac8bfbb360863" as pattern ["object-assign@^4.1.0","o
bject-assign@^4.1.0","object-assign@^4.0.1","object-assign@^4.0.1","object-assig
n@^4.0.1","object-assign@^4.0.1","object-assign@^4.1.0","object-assign@^4","obje
ct-assign@^4.1.1","object-assign@^4.1.0","object-assign@^4.1.1","object-assign@^
4.1.1","object-assign@^4.0.1","object-assign@^4.0.1","object-assign@^4.0.1","obj
ect-assign@^4.0.1","object-assign@^4.0.1"]. This could result in non-determinist
ic behavior, skipping.
info fsevents@1.1.2: The platform "win32" is incompatible with this module.
info "fsevents@1.1.2" is an optional dependency and failed compatibility check.
Excluding it from installation.
[3/4] Linking dependencies...
warning " > react-modal@2.2.2" has incorrect peer dependency "react@^0.14.0 || ^
15.0.0".
warning " > react-modal@2.2.2" has incorrect peer dependency "react-dom@^0.14.0
|| ^15.0.0".
[4/4] Building fresh packages...
[-/2] ? waiting...
error C:\Users\sagil\Desktop\ReactTutorial\indecision-app\node_modules\node-sass
: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments:
Directory: C:\Users\sagil\Desktop\ReactTutorial\indecision-app\node_modules\node
-sass
Output:
Building: C:\Program Files\nodejs\node.exe C:\Users\sagil\Desktop\ReactTutorial\
indecision-app\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass
_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
gyp verb cli   'C:\\Users\\sagil\\Desktop\\ReactTutorial\\indecision-app\\node_m
odules\\node-gyp\\bin\\node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library=' ]
gyp info using node-gyp@3.8.0
gyp info using node@10.7.0 | win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (C:\Users\sagil\Desktop\ReactTut
orial\indecision-app\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Users\sagil\Desktop\ReactTutorial\indecisio
n-app\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Users\sagil\Desktop\ReactTutorial\indecisio
n-app\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:158:21)
gyp verb `which` failed  python2 { Error: not found: python2
gyp verb `which` failed     at getNotFoundError (C:\Users\sagil\Desktop\ReactTut
orial\indecision-app\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Users\sagil\Desktop\ReactTutorial\indecisio
n-app\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Users\sagil\Desktop\ReactTutorial\indecisio
n-app\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:158:21)
gyp verb `which` failed   stack:
gyp verb `which` failed    'Error: not found: python2\n    at getNotFoundError (
C:\\Users\\sagil\\Desktop\\ReactTutorial\\indecision-app\\node_modules\\which\\w
hich.js:13:12)\n    at F (C:\\Users\\sagil\\Desktop\\ReactTutorial\\indecision-a
pp\\node_modules\\which\\which.js:68:19)\n    at E (C:\\Users\\sagil\\Desktop\\R
eactTutorial\\indecision-app\\node_modules\\which\\which.js:80:29)\n    at C:\\U
sers\\sagil\\Desktop\\ReactTutorial\\indecision-app\\node_modules\\which\\which.
js:89:16\n    at C:\\Users\\sagil\\Desktop\\ReactTutorial\\indecision-app\\node_
modules\\isexe\\index.js:42:5\n    at C:\\Users\\sagil\\Desktop\\ReactTutorial\\
indecision-app\\node_modules\\isexe\\windows.js:36:5\n    at FSReqWrap.oncomplet
e (fs.js:158:21)',
gyp verb `which` failed   code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` failed Error: not found: python
gyp verb `which` failed     at getNotFoundError (C:\Users\sagil\Desktop\ReactTut
orial\indecision-app\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Users\sagil\Desktop\ReactTutorial\indecisio
n-app\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Users\sagil\Desktop\ReactTutorial\indecisio
n-app\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:158:21)
gyp verb `which` failed  python { Error: not found: python
gyp verb `which` failed     at getNotFoundError (C:\Users\sagil\Desktop\ReactTut
orial\indecision-app\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Users\sagil\Desktop\ReactTutorial\indecisio
n-app\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Users\sagil\Desktop\ReactTutorial\indecisio
n-app\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\Users\sagil\Desktop\ReactTutorial\indecision-a
pp\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:158:21)
gyp verb `which` failed   stack:
gyp verb `which` failed    'Error: not found: python\n    at getNotFoundError (C
:\\Users\\sagil\\Desktop\\ReactTutorial\\indecision-app\\node_modules\\which\\wh
ich.js:13:12)\n    at F (C:\\Users\\sagil\\Desktop\\ReactTutorial\\indecision-ap
p\\node_modules\\which\\which.js:68:19)\n    at E (C:\\Users\\sagil\\Desktop\\Re
actTutorial\\indecision-app\\node_modules\\which\\which.js:80:29)\n    at C:\\Us
ers\\sagil\\Desktop\\ReactTutorial\\indecision-app\\node_modules\\which\\which.j
s:89:16\n    at C:\\Users\\sagil\\Desktop\\ReactTutorial\\indecision-app\\node_m
odules\\isexe\\index.js:42:5\n    at C:\\Users\\sagil\\Desktop\\ReactTutorial\\i
ndecision-app\\node_modules\\isexe\\windows.js:36:5\n    at FSReqWrap.oncomplete
 (fs.js:158:21)',
gyp verb `which` failed   code: 'ENOENT' }
gyp verb could not find "python". checking python launcher
gyp verb could not find "python". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYT
HON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\sagil\Desktop\ReactTut
orial\indecision-app\node_modules\node-gyp\lib\configure.js:484:19)
gyp ERR! stack     at PythonFinder.<anonymous> (C:\Users\sagil\Desktop\ReactTuto
rial\indecision-app\node_modules\node-gyp\lib\configure.js:509:16)
gyp ERR! stack     at C:\Users\sagil\Desktop\ReactTutorial\indecision-app\node_m
odules\graceful-fs\polyfills.js:284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:158:21)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\sagil\\Deskto
p\\ReactTutorial\\indecision-app\\node_modules\\node-gyp\\bin\\node-gyp.js" "reb
uild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--l
ibsass_library="
gyp ERR! cwd C:\Users\sagil\Desktop\ReactTutorial\indecision-app\node_modules\no
de-sass
gyp ERR! node -v v10.7.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this comm

为什么会这样?

【问题讨论】:

  • 如果您使用代理服务器或遇到一些与 Internet 相关的问题,您可以尝试离线方法,您可以下载 node-sass 绑定文件并告诉您的 .yarnrc 从那里使用文件。更多stackoverflow.com/questions/45424094/…
  • 您好像没有windows-build-tools。尝试从here安装它
  • 请检查nodejs版本和node-sass版本。 Node js的版本必须兼容node-sass的版本

标签: javascript reactjs yarnpkg


【解决方案1】:

yarn install cmd 之后

得到错误:/node_modules/node-sass: Command failed

这是因为您在 nodeJsnode-sass 之间有一些不匹配的版本 如果您的节点版本是 v12 或更高版本,请转到 package.json 并将您的 node-sass 版本更新为 4.12.0:

{ 
...
"node-sass": "4.12.0",
...
}

源代码:link to docs

【讨论】:

    【解决方案2】:

    是因为你的node版本和node-sass的兼容性不匹配。请参考 node-sass -npm read.me 页面

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-27
      • 2021-01-10
      • 2021-02-17
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 2019-03-07
      • 1970-01-01
      相关资源
      最近更新 更多