离子 - 错误:找不到模块'gulp-sass'

时间:2018-02-03 15:19:13

标签: node.js ionic-framework sass gulp

我有一个Ionic v1应用程序,当我尝试通过gulp命令运行应用程序时,出现以下错误:

Error: Cannot find module 'gulp-sass' from '/Users/bertcarremans/Tuintalent/code'
at Function.module.exports [as sync] (/Users/bertcarremans/Tuintalent/code/node_modules/resolve/lib/sync.js:40:15)
at requireFn (/Users/bertcarremans/Tuintalent/code/node_modules/gulp-load-plugins/index.js:74:25)
at Object.get [as sass] (/Users/bertcarremans/Tuintalent/code/node_modules/gulp-load-plugins/index.js:117:41)
at Gulp.<anonymous> (/Users/bertcarremans/Tuintalent/code/tasks/config/compile.js:30:18)
at module.exports (/Users/bertcarremans/Tuintalent/code/node_modules/orchestrator/lib/runTask.js:34:7)
at Gulp.Orchestrator._runTask (/Users/bertcarremans/Tuintalent/code/node_modules/orchestrator/index.js:273:3)
at Gulp.Orchestrator._runStep (/Users/bertcarremans/Tuintalent/code/node_modules/orchestrator/index.js:214:10)
at Gulp.Orchestrator.start (/Users/bertcarremans/Tuintalent/code/node_modules/orchestrator/index.js:134:8)
at /Users/bertcarremans/Tuintalent/code/node_modules/gulp-sequence/index.js:68:12
at apply (/Users/bertcarremans/Tuintalent/code/node_modules/thunks/index.js:355:38)

所以我按照此post中提到的说明进行操作并尝试npm update 但后来我得到了以下错误:

gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/bertcarremans/Tuintalent/code/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Darwin 16.7.0
gyp ERR! command "/usr/local/bin/node" "/Users/bertcarremans/Tuintalent/code/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /Users/bertcarremans/Tuintalent/code/node_modules/node-sass
gyp ERR! node -v v8.9.4
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
Build failed with error code: 1
npm WARN tuintalent@1.1.1 No repository field.
npm WARN tuintalent@1.1.1 No license field.
npm WARN The package gulp-concat is included as both a dev and production dependency.

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

此应用的环境是: cli包:(/ usr / local / lib / node_modules)

@ionic/cli-utils  : 1.19.1
ionic (Ionic CLI) : 3.19.1

全球套餐:

cordova (Cordova CLI) : 8.0.0 
Gulp CLI              : CLI version 3.9.1 Local version 3.9.1

本地包裹:

Cordova Platforms : android 7.0.0 ios 4.5.4
Ionic Framework   : ionic1 1.3.2

系统:

ios-deploy : 1.9.0 
ios-sim    : 6.1.2 
Node       : v8.9.4
npm        : 5.6.0 
OS         : macOS Sierra
Xcode      : Xcode 9.2 Build version 9C40b 

环境变量:

ANDROID_HOME : not set

其他:

backend : pro

删除node_modules并执行npm install也会产生其他错误。

gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/bertcarremans/Tuintalent/code/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Darwin 16.7.0
gyp ERR! command "/usr/local/bin/node" "/Users/bertcarremans/Tuintalent/code/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /Users/bertcarremans/Tuintalent/code/node_modules/node-sass
gyp ERR! node -v v8.9.4
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
Build failed with error code: 1
npm WARN tuintalent@1.1.1 No repository field.
npm WARN tuintalent@1.1.1 No license field.
npm WARN The package gulp-concat is included as both a dev and production dependency.

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

有人知道如何解决这个问题吗?谢谢!

2 个答案:

答案 0 :(得分:0)

只需在根文件夹中执行npm update然后npm install gulp-sass --save-dev,然后在运行时就不会有任何问题。

或做

rm -rf node_modules/
npm install

答案 1 :(得分:0)

对于OP来说还不算太晚-但是,node-gyp make错误意味着“节点正在编译模块的c / c ++本机代码并且失败了”-在我最近遇到的类似情况下,MacOS构建工具无效,可以是由于XCODE更新而导致的,但命令行工具(C ++编译器等)尚未准备好使用。

对于MacOS上的node-gyp问题的典型解决方案,该模块提供了不错的文档-MacOS node-gyp fixes