npm install:无法在Windows 10中安装依赖关系

我正在使用Windows 10并安装了node-v6.9.1-x64。

这里是我正在尝试为Android平台构build的项目链接 ,为此我按照上面提到的步骤操作,如下所示:

  1. 首先,我已经下载了这个项目,并解压缩到D盘的Ionic文件夹,并将其更名为IonicUserBase

  2. 其次,我已经安装了Ionic和Cordova,所以我直接开始导航到项目

  3. 第三,安装所有的依赖关系,我使用:npm install

但无法安装依赖关系….请参阅下面的完整日志

D:\>cd Ionic D:\Ionic>cd IonicUserBase D:\Ionic\IonicUserBase>npm install npm WARN deprecated gulp-minify-css@0.3.13: Please use gulp-clean-css npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree. npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jade npm WARN deprecated graceful-fs@2.0.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree. > node-sass@0.9.6 install D:\Ionic\IonicUserBase\node_modules\node-sass > node build.js (node:6292) DeprecationWarning: child_process: options.customFds option is deprecated. Use options.stdio instead. D:\Ionic\IonicUserBase\node_modules\node-sass>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild ) gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. gyp ERR! stack at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:449:14) gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:404:11 gyp ERR! stack at FSReqWrap.oncomplete (fs.js:123:15) gyp ERR! System Windows_NT 10.0.10240 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd D:\Ionic\IonicUserBase\node_modules\node-sass gyp ERR! node -v v6.9.1 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok Build failed [ .] | install: info lifecycle node-sass@0.9.6~install: Failed to exec install script[ .] | install: info lifecycle node-sass@0.9.6~instAuthenticate.me@1.0.0 D:\Ionic\IonicUserBase +-- bower@1.7.9 +-- gulp@3.9.1 | +-- archy@1.0.0 | +-- chalk@1.1.3 | | +-- ansi-styles@2.2.1 | | +-- escape-string-regexp@1.0.5 | | +-- has-ansi@2.0.0 | | | `-- ansi-regex@2.0.0 | | +-- strip-ansi@3.0.1 | | `-- supports-color@2.0.0 | +-- deprecated@0.0.1 | +-- interpret@1.0.1 | +-- liftoff@2.3.0 | | +-- extend@3.0.0 | | +-- findup-sync@0.4.3 | | | +-- detect-file@0.1.0 | | | | `-- fs-exists-sync@0.1.0 | | | +-- is-glob@2.0.1 | | | | `-- is-extglob@1.0.0 | | | +-- micromatch@2.3.11 | | | | +-- arr-diff@2.0.0 | | | | | `-- arr-flatten@1.0.1 | | | | +-- array-unique@0.2.1 | | | | +-- braces@1.8.5 | | | | | +-- expand-range@1.8.2 | | | | | | `-- fill-range@2.2.3 | | | | | | +-- is-number@2.1.0 | | | | | | +-- isobject@2.1.0 | | | | | | | `-- isarray@1.0.0 | | | | | | +-- randomatic@1.1.5 | | | | | | `-- repeat-string@1.6.1 | | | | | +-- preserve@0.2.0 | | | | | `-- repeat-element@1.1.2 | | | | +-- expand-brackets@0.1.5 | | | | | `-- is-posix-bracket@0.1.1 | | | | +-- extglob@0.3.2 | | | | +-- filename-regex@2.0.0 | | | | +-- kind-of@3.0.4 | | | | | `-- is-buffer@1.1.4 | | | | +-- normalize-path@2.0.1 | | | | +-- object.omit@2.0.1 | | | | | +-- for-own@0.1.4 | | | | | | `-- for-in@0.1.6 | | | | | `-- is-extendable@0.1.1 | | | | +-- parse-glob@3.0.4 | | | | | +-- glob-base@0.3.0 | | | | | | `-- glob-parent@2.0.0 | | | | | `-- is-dotfile@1.0.2 | | | | `-- regex-cache@0.4.3 | | | | +-- is-equal-shallow@0.1.3 | | | | `-- is-primitive@2.0.0 | | | `-- resolve-dir@0.1.1 | | | `-- global-modules@0.2.3 | | | +-- global-prefix@0.1.4 | | | | +-- ini@1.3.4 | | | | +-- osenv@0.1.3 | | | | | `-- os-tmpdir@1.0.2 | | | | `-- which@1.2.11 | | | | `-- isexe@1.1.2 | | | `-- is-windows@0.2.0 | | +-- fined@1.0.2 | | | +-- expand-tilde@1.2.2 | | | +-- lodash.assignwith@4.2.0 | | | +-- lodash.isempty@4.4.0 | | | +-- lodash.pick@4.4.0 | | | `-- parse-filepath@1.0.1 | | | +-- is-absolute@0.2.6 | | | | `-- is-relative@0.2.1 | | | | `-- is-unc-path@0.1.1 | | | | `-- unc-path-regex@0.1.2 | | | +-- map-cache@0.2.2 | | | `-- path-root@0.1.1 | | | `-- path-root-regex@0.1.2 | | +-- flagged-respawn@0.3.2 | | +-- lodash.isplainobject@4.0.6 | | +-- lodash.isstring@4.0.1 | | +-- lodash.mapvalues@4.6.0 | | +-- rechoir@0.6.2 | | `-- resolve@1.1.7 | +-- minimist@1.2.0 | +-- orchestrator@0.3.7 | | +-- end-of-stream@0.1.5 | | | `-- once@1.3.3 | | | `-- wrappy@1.0.2 | | +-- sequencify@0.0.7 | | `-- stream-consume@0.1.0 | +-- pretty-hrtime@1.0.2 | +-- semver@4.3.6 | +-- tildify@1.2.0 | | `-- os-homedir@1.0.2 | +-- v8flags@2.0.11 | | `-- user-home@1.1.1 | `-- vinyl-fs@0.3.14 | +-- defaults@1.0.3 | | `-- clone@1.0.2 | +-- glob-stream@3.1.18 | | +-- glob@4.5.3 | | | `-- inflight@1.0.6 | | +-- glob2base@0.0.12 | | | `-- find-index@0.1.1 | | +-- minimatch@2.0.10 | | | `-- brace-expansion@1.1.6 | | | +-- balanced-match@0.4.2 | | | `-- concat-map@0.0.1 | | +-- ordered-read-streams@0.1.0 | | +-- through2@0.6.5 | | | `-- readable-stream@1.0.34 | | `-- unique-stream@1.0.0 | +-- glob-watcher@0.0.6 | | `-- gaze@0.5.2 | | `-- globule@0.1.0 | | +-- glob@3.1.21 | | | +-- graceful-fs@1.2.3 | | | `-- inherits@1.0.2 | | +-- lodash@1.0.2 | | `-- minimatch@0.2.14 | | +-- lru-cache@2.7.3 | | `-- sigmund@1.0.1 | +-- graceful-fs@3.0.11 | | `-- natives@1.1.0 | +-- mkdirp@0.5.1 | | `-- minimist@0.0.8 | +-- strip-bom@1.0.0 | | +-- first-chunk-stream@1.0.0 | | `-- is-utf8@0.2.1 | +-- through2@0.6.5 | | `-- readable-stream@1.0.34 | `-- vinyl@0.4.6 | `-- clone@0.2.0 +-- gulp-concat@2.6.0 | +-- concat-with-sourcemaps@1.0.4 | | `-- source-map@0.5.6 | `-- through2@0.6.5 | +-- readable-stream@1.0.34 | | +-- core-util-is@1.0.2 | | +-- inherits@2.0.3 | | +-- isarray@0.0.1 | | `-- string_decoder@0.10.31 | `-- xtend@4.0.1 +-- gulp-minify-css@0.3.13 | +-- bufferstreams@0.0.2 | | `-- readable-stream@1.1.14 | +-- clean-css@3.0.10 | | +-- commander@2.5.1 | | `-- source-map@0.1.43 | | `-- amdefine@1.0.0 | +-- memory-cache@0.0.5 | +-- through2@0.6.5 | | `-- readable-stream@1.0.34 | `-- vinyl-sourcemaps-apply@0.1.4 | `-- source-map@0.1.43 +-- gulp-rename@1.2.2 +-- gulp-util@2.2.20 | +-- chalk@0.5.1 | | +-- ansi-styles@1.1.0 | | +-- has-ansi@0.1.0 | | | `-- ansi-regex@0.2.1 | | +-- strip-ansi@0.3.0 | | `-- supports-color@0.2.0 | +-- dateformat@1.0.12 | | +-- get-stdin@4.0.1 | | `-- meow@3.7.0 | | +-- camelcase-keys@2.1.0 | | | `-- camelcase@2.1.1 | | +-- decamelize@1.2.0 | | +-- loud-rejection@1.6.0 | | | +-- currently-unhandled@0.4.1 | | | | `-- array-find-index@1.0.2 | | | `-- signal-exit@3.0.1 | | +-- map-obj@1.0.1 | | +-- normalize-package-data@2.3.5 | | | +-- hosted-git-info@2.1.5 | | | +-- is-builtin-module@1.0.0 | | | | `-- builtin-modules@1.1.1 | | | `-- validate-npm-package-license@3.0.1 | | | +-- spdx-correct@1.0.2 | | | | `-- spdx-license-ids@1.2.2 | | | `-- spdx-expression-parse@1.0.4 | | +-- object-assign@4.1.0 | | +-- read-pkg-up@1.0.1 | | | +-- find-up@1.1.2 | | | | +-- path-exists@2.1.0 | | | | `-- pinkie-promise@2.0.1 | | | | `-- pinkie@2.0.4 | | | `-- read-pkg@1.1.0 | | | +-- load-json-file@1.1.0 | | | | +-- graceful-fs@4.1.9 | | | | +-- parse-json@2.2.0 | | | | | `-- error-ex@1.3.0 | | | | | `-- is-arrayish@0.2.1 | | | | +-- pify@2.3.0 | | | | `-- strip-bom@2.0.0 | | | `-- path-type@1.1.0 | | +-- redent@1.0.0 | | | +-- indent-string@2.1.0 | | | | `-- repeating@2.0.1 | | | | `-- is-finite@1.0.2 | | | | `-- number-is-nan@1.0.1 | | | `-- strip-indent@1.0.1 | | `-- trim-newlines@1.0.0 | +-- lodash._reinterpolate@2.4.1 | +-- lodash.template@2.4.1 | | +-- lodash._escapestringchar@2.4.1 | | +-- lodash.defaults@2.4.1 | | | `-- lodash._objecttypes@2.4.1 | | +-- lodash.escape@2.4.1 | | | +-- lodash._escapehtmlchar@2.4.1 | | | | `-- lodash._htmlescapes@2.4.1 | | | `-- lodash._reunescapedhtml@2.4.1 | | +-- lodash.keys@2.4.1 | | | +-- lodash._isnative@2.4.1 | | | +-- lodash._shimkeys@2.4.1 | | | `-- lodash.isobject@2.4.1 | | +-- lodash.templatesettings@2.4.1 | | `-- lodash.values@2.4.1 | +-- minimist@0.2.0 | +-- multipipe@0.1.2 | | `-- duplexer2@0.0.2 | +-- through2@0.5.1 | | +-- readable-stream@1.0.34 | | `-- xtend@3.0.0 | `-- vinyl@0.2.3 | `-- clone-stats@0.0.1 `-- shelljs@0.3.0 npm WARN Authenticate.me@1.0.0 No repository field. npm WARN Authenticate.me@1.0.0 No license field. npm ERR! Windows_NT 10.0.10240 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" npm ERR! node v6.9.1 npm ERR! npm v3.10.8 npm ERR! code ELIFECYCLE npm ERR! node-sass@0.9.6 install: `node build.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the node-sass@0.9.6 install script 'node build.js'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the node-sass package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node build.js npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs node-sass npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls node-sass npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! D:\Ionic\IonicUserBase\npm-debug.log D:\Ionic\IonicUserBase> 

更新:

我已经尝试了@mscdexbuild议的方式,这里是新的日志 ,使用npm install时仍然会出现构build失败,还有一件事现在我已经安装了另一个版本的nodejs(即node-v4.2.1-x64)

我克隆了这个项目,并尝试了相同的方式。

通过将PythonPath添加到Windows环境中,并将gulp-sass更新为最新版本,我能够成功构build项目

步骤1:

从这里下载Python 2.7.12

并将环境variablesPATH设置为/path/to/executable/python2.7(例如:C:\ Python27 \ python.exe)

要么

以pipe理员身份打开cmd并运行

 npm install --g --production windows-build-tools 

我做了两个。

第2步:

打开你的package.json(D:\ Ionic \ IonicUserBase \ package.json)

把gulp-sass的版本从"gulp-sass": "^0.7.1"改为"gulp-sass": "^0.7.1"到它的最新版本"gulp-sass": "^2.3.2"

现在尝试npm install

它应该工作正常。

总结:让我总结一下整个stream程

pipe理员身份打开cmd

 npm install -g cordova ionic npm install --g --production windows-build-tools from cmd as administrator git clone https://github.com/malikov/Authenticate.me-client-cordova-ionic.git cd Authenticate.me-client-cordova-ionic 

在package.json中,将gulp-sass的版本更改为最新版本。 “gulp-sass”:“^ 2.3.2”

 npm install ionic platform add android ionic run android 

我有一个类似的版本,我通过安装python 2.7解决

 npm install --python=python2.7 

或者将其设置为始终使用:

 npm config set python python2.7 

此外,我有视觉stdio 2015年和2012年安装。

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

node-sass是一个节点插件,所以需要编译。 但是,您至less没有安装Python来编译插件。

在Windows上,您应该能够通过执行此操作(从提升的PowerShell会话或以pipe理员身份运行的命令提示符)来安装所需的所有内容:

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

一旦成功完成,重新运行您的原始npm install

编辑:在阅读你的npm install日志之后,看起来你正在安装一个真正旧版本的node-sassnode-sass v0.9.6在2014年发布),因为它依赖于老版本的gulp node-sass 。 尝试安装和使用最新版本的gulp-sass (本文写作的v2.3.2),这应该带来一个更新的node-sass ,它与现代版本的节点兼容。

你有没有尝试运行npm rebuild node-sass

如果这不起作用,那么你可能需要进入你的package.json并更新你的依赖关系。 当我得到凌乱的节点错误,我通常做这样的事情:

删除你的node_modules文件夹并备份你的package.json 。 然后从package.json删除所有依赖项,并使用npm install package_name --save手动安装每个依赖项。 这将安装每个软件包的最新版本 – 它可能会解决您的问题。 我遇到了与npm update不一致的地方,这就是为什么我推荐这个手动过程的原因。