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。 希望它在其他环境中也有帮助,但请记住,你的水壶看起来可能与我的有点不同。
- 首先,需要在.bashrc中使用python可执行文件的显式窗口path来设置$ PYTHON shell envvariables,而不是像cygwin所使用的根path(/ usr / bin)那样的unix。
- 其次,这一个花了很多的尝试/错误,这是棘手的! Cygwin将python安装在/ usr / bin下(这实际上是windows上的/ bin镜像),即(在我的系统中)/usr/bin/python2.7.exe,然后添加一个/ usr / bin / python – > python2.7.exe。 问题是,gyp不能跟随这个链接,并不断发出令人讨厌的错误,即使你可以从shell命令行中find它,它仍然无法findpython。
- 有了上面的背景,现在添加下面一行到你的.bashrc
导出PYTHON =“C:/cygwin64/bin/python2.7.exe(或任何您系统上的版本)”
- 现在从您的主目录(在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如何处理符号链接。 在现成的安装中,这样做并不合适。 所以从上面的代码中的错误信息会变成误导,因为它抱怨PYTHON
path,而不是python.exe
(或链接)文件本身的存在。
有(至less)2种方法来解决这个问题。
- 安装Cygwin软件包
cygutils-extra
并使用winln
。 - 在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