NodeJS – 使用NPM安装时出错

Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\Windows\system32>npm install caress-server npm http GET https://registry.npmjs.org/caress-server npm http 304 https://registry.npmjs.org/caress-server npm http GET https://registry.npmjs.org/jspack/0.0.1 npm http GET https://registry.npmjs.org/buffertools npm http 304 https://registry.npmjs.org/jspack/0.0.1 npm http 304 https://registry.npmjs.org/buffertools > buffertools@2.0.1 install C:\Windows\system32\node_modules\caress-server\node_ modules\buffertools > node-gyp rebuild C:\Windows\system32\node_modules\caress-server\node_modules\buffertools>node "G: \nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node- gyp.js" rebuild 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 failNoPython (G:\nodejs\node_modules\npm\node_modules\node -gyp\lib\configure.js:101:14) gyp ERR! stack at G:\nodejs\node_modules\npm\node_modules\node-gyp\lib\confi gure.js:64:11 gyp ERR! stack at Object.oncomplete (fs.js:107:15) gyp ERR! System Windows_NT 6.2.9200 gyp ERR! command "node" "G:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\ bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\Windows\system32\node_modules\caress-server\node_modules\buffert ools gyp ERR! node -v v0.10.25 gyp ERR! node-gyp -v v0.12.2 gyp ERR! not ok npm ERR! buffertools@2.0.1 install: `node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the buffertools@2.0.1 install script. npm ERR! This is most likely a problem with the buffertools package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! You can get their info via: npm ERR! npm owner ls buffertools npm ERR! There is likely additional logging output above. npm ERR! System Windows_NT 6.2.9200 npm ERR! command "G:\\nodejs\\\\node.exe" "G:\\nodejs\\node_modules\\npm\\bin\\n pm-cli.js" "install" "caress-server" npm ERR! cwd C:\Windows\system32 npm ERR! node -v v0.10.25 npm ERR! npm -v 1.3.24 npm ERR! code ELIFECYCLE npm ERR! npm ERR! Additional logging details can be found in: npm ERR! C:\Windows\system32\npm-debug.log npm ERR! not ok code 0 C:\Windows\system32> 

我正在安装某个NodeJS脚本 – Caress 。 但我不能。 我正在使用Windows 8.1,任何人都可以告诉我什么是我面临的问题,为什么这个安装无法正常工作。 这似乎是buffertools的依赖问题,这是我可以想到的。 不知道如何解决这个问题?

如果我从github下载构build,并将其放入节点模块,似乎没有任何工作。 当我尝试启动,使用npm启动,或在实施期间。

 G:\nodejs\node_modules\caress-server>npm install G:\nodejs\node_modules\caress-server>npm start > caress-server@0.1.1 start G:\nodejs\node_modules\caress-server > node examples/server.js info - socket.io started module.js:340 throw err; ^ Error: Cannot find module './build/Release/buffertools.node' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (G:\nodejs\node_modules\caress-server\node_modules\buf fertools\buffertools.js:16:19) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) npm ERR! caress-server@0.1.1 start: `node examples/server.js` npm ERR! Exit status 8 npm ERR! npm ERR! Failed at the caress-server@0.1.1 start script. npm ERR! This is most likely a problem with the caress-server package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node examples/server.js npm ERR! You can get their info via: npm ERR! npm owner ls caress-server npm ERR! There is likely additional logging output above. npm ERR! System Windows_NT 6.2.9200 npm ERR! command "G:\\nodejs\\\\node.exe" "G:\\nodejs\\node_modules\\npm\\bin\\n pm-cli.js" "start" npm ERR! cwd G:\nodejs\node_modules\caress-server npm ERR! node -v v0.10.25 npm ERR! npm -v 1.3.24 npm ERR! code ELIFECYCLE npm ERR! npm ERR! Additional logging details can be found in: npm ERR! G:\nodejs\node_modules\caress-server\npm-debug.log npm ERR! not ok code 0 G:\nodejs\node_modules\caress-server> 

正如下面评论你可能不需要在Windows上安装VS,检查了这一点

https://github.com/nodejs/node-gyp/issues/629#issuecomment-153196245

更新02/2016

一些npm插件需要安装node-gyp

但是, node-gyp有它自己的依赖关系( 来自github页面 ):

在这里输入图像描述

更新09/2016

如果您正在使用Windows,则现在可以使用单个命令安装所有node-gyp依赖项(注意:Windows PowerShell中的“以pipe理员node-gyp运行”):

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

然后安装该软件包

  $ npm install --global node-gyp 

在这里查看完整的文档: node-gyp

确保你有所有必需的软件来运行node-gyp

您可以通过环境variables来configurationnode-gyp --msvs_version=2012使用的Visual Studio版本,这样可以避免每次执行npm install时都必须设置--msvs_version=2012属性。

例子:

  • 为Visual Studio 2012设置GYP_MSVS_VERSION=2012 2012
  • 设置GYP_MSVS_VERSION=2013e ('e'代表免费'快递版')

有关完整列表,请参阅 – https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

对于NodeJS的Windows用户来说,这仍然很痛苦,因为它假定你已经安装了Visual Studio的副本,许多最终用户永远不会拥有这个。 所以我正在向Joyent游说,鼓励他们将Web套接字作为CORE节点的一部分,同时也可能将GNU gcc编译器作为NodeJS安装的一部分,以便我们可以永久解决这个问题。

随时添加您的投票在:

我遇到了错误的问题:

 gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. 

这是我正在做什么,最终是什么工作。

免责声明 :在Java,Linux世界等多年以来,我只是把我的手放到Node,Angular中…

环境说明 :Windows 8.1 64位; Cygwin的; cygwin bash shell

使用的命令导致错误 :npm install -g karma

错误 :gyp ERR! configuration错误gyp ERR! 堆栈错误:找不到Python可执行文件“python”,可以设置PYT HON envvariables。

发现 :bash shell中的“python”清楚地显示了“/ usr / bin / python”。 现在很烦人!

解决scheme :这只适用于那些使用类似于我的环境,即使用cygwin和bash shell。 希望它在其他环境中也有帮助,但请记住,你的水壶看起来可能与我的有点不同。

  1. 首先,需要在.bashrc中使用python可执行文件的显式窗口path来设置$ PYTHON shell envvariables,而不是像cygwin所使用的根path(/ usr / bin)那样的unix。
  2. 其次,这一个花了很多的尝试/错误,这是棘手的! Cygwin将python安装在/ usr / bin下(这实际上是windows上的/ bin镜像),即(在我的系统中)/usr/bin/python2.7.exe,然后添加一个/ usr / bin / python – > python2.7.exe。 问题是,gyp不能跟随这个链接,并不断发出令人讨厌的错误,即使你可以从shell命令行中find它,它仍然无法findpython。
  3. 有了上面的背景,现在添加下面一行到你的.bashrc

导出PYTHON =“C:/cygwin64/bin/python2.7.exe(或任何您系统上的版本)”

  1. 现在从您的主目录(在cygwin上) – >'source .bashrc'

你现在应该没事了,gyp会findpython可执行文件。

我希望这可以帮助有人在相同或类似的问题上磕磕绊绊。

应该可以得到巧克力的所有节点gyp依赖关系的Windows

 choco install python2 choco install visualstudioexpress2013windowsdesktop 

gyp ERR! configuration错误gyp ERR! 堆栈错误:找不到Python可执行文件“python”,可以设置PYT HON envvariables。

这意味着Python的环境。 variables应该指向可执行的python文件,在我的情况下: SET PYTHON=C:\work\_env\Python27\python.exe

对于Cygwin用户:

在开箱即用的Cygwin安装中使用npm的python问题是,由于在../npm/node_modules/node-gyp/lib/configure.js检查不完全, node-gyp ../npm/node_modules/node-gyp/lib/configure.js给出了一个误导性的错误码。

这是由于Cygwin如何处理符号链接。 在现成的安装中,这样做并不合适。 所以从上面的代码中的错误信息会变成误导,因为它抱怨PYTHONpath,而不是python.exe (或链接)文件本身的存在。

有(至less)2种方法来解决这个问题。

  1. 安装Cygwin软件包cygutils-extra并使用winln
  2. 在pipe理员模式下使用本机Windows CMD。

对于( 1 ),您可以通过执行以下步骤在Cygwin shell中创build适当的符号链接:

 # To make the Cygwin environment treat Windows links properly: # Alternatively add this to your `.bashrc` for permanent use. export CYGWIN=winsymlinks:nativestrict # Install Cygwin package containing "winln" apt-cyg install cygutils-extra # Make a proper Windows sym-link: cd /cygdrive/c/cygwin64/bin/ winln.exe -s python2.7.exe python.exe # Add PYTHON as a native Windows system wide variable (HKLM) setx /M PYTHON "C:\cygwin64\bin\python" 

(另外假设你正在以pipe理员身份运行Cygwin shell。)build议使用apt-cyg ,并且可以在github上以各种formsfind它。


对于( 2 )开箱即用的Cygwin用户的分辨率是这样的:

 # Open a native Windows CMD in Administrator mode and: cd C:\cygwin64\bin\ mklink python.exe python2.7.exe 

结果应该是这样的:

 C:\cygwin64\bin>ls -al python* lrwxrwxrwx 1 xxx xxx 13 Jun 2 2015 python -> python2.7.exe lrwxrwxrwx 1 Administrators xxx 13 Aug 24 17:28 python.exe -> python2.7.exe lrwxrwxrwx 1 xxx xxx 13 Jun 2 2015 python2 -> python2.7.exe -rwxr-xr-x 1 xxx xxx 9235 Jun 2 2015 python2.7.exe 

设置JavaScript环境

1.安装Node.js

在NodeJs网站下载安装程序。 你可以下载最新的V6

2.更新Npm

Npm与Node.js一起安装。 所以不要担心

3.安装Anaconda

Anaconda是Python领先的开放式数据科学平台。 Anaconda的开源版本是Python的高性能发行版。 它可以帮助你pipe理你的python依赖。 你可以用它来创build不同的python环境,如果你想碰碰它。

Node-gyp只支持> = Python 2.7和<Python 3.0

所以只需安装2.7版本

4.安装Node-gyp

你可以用npm来安装:

$ npm install -g node-gyp

您还需要安装:

  • 在Windows上:

    • 选项1:使用npm install --global --production windows-build-tools从升级的PowerShell或CMD.exe(以pipe理员身份运行) npm install --global --production windows-build-tools使用Microsoft的windows-build-tools所需的所有工具和configuration。

    • 选项2:手动安装工具和configuration:

    • Visual C ++构build环境:

      • 选项1:使用“ 默认安装”选项安装Visual C ++构build工具 。
      • 选项2:安装Visual Studio 2015 (或修改现有安装),并在安装过程中select用于Visual C ++的通用工具 。 这也适用于免费的Community和Express for Desktop版本。

      💡[仅适用于Windows Vista / 7]需要.NET Framework 4.5.1

    • 启动cmd, npm config set msvs_version 2015

    如果上述步骤不适合您,请访问Microsoft的Node.js Windows准则获取更多提示。

如果您安装了多个Python版本,则可以通过设置“–python”variables来识别哪个版本的node-gyp gyp:

$ node-gyp --python C:/Anaconda2/python.exe

如果通过npm调用node-gyp npm 并且安装了多个Python版本,那么可以将npm的“python”configuration项设置为适当的值:

$ npm config set python C:/Anaconda2/python.exe

将来更新Node.js和npm

从他们的官方网站下载安装程序并直接安装它。 安装程序将自动帮助您删除旧文件。

npm update npm

Python的未来更新

conda update --all

对我来说,解决scheme是:

 rm -rf ~/.node_gyp and sudo npm install -g node-gyp@3.4.0 cd /usr/local/lib sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.5.dylib brew install gcc npm install 

我在npm install -g appium上安装appium,在Windows 10上得到相同的错误。

下面的命令为我工作:

 npm --add-python-to-path='true' --debug install --global windows-build-tools 

https://github.com/felixrieseberg/windows-build-tools/issues/33