我有一个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.
有人知道如何解决这个问题吗?谢谢!
答案 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