我正在进入Node.js代码库,它要求我通过NPM下载一些依赖项,即jQuery。
在尝试运行npm install jquery
时,我一直收到以下错误:
Your environment has been set up for using Node.js 0.8.21 (x64) and NPM
C:\Users\Matt Cashatt>npm install jquery
npm http GET https://registry.npmjs.org/jquery
npm http 304 https://registry.npmjs.org/jquery
npm http GET https://registry.npmjs.org/jsdom
npm http GET https://registry.npmjs.org/xmlhttprequest
npm http GET https://registry.npmjs.org/htmlparser/1.7.6
npm http GET https://registry.npmjs.org/location/0.0.1
npm http GET https://registry.npmjs.org/navigator
npm http GET https://registry.npmjs.org/contextify
npm http 304 https://registry.npmjs.org/htmlparser/1.7.6
npm http 304 https://registry.npmjs.org/xmlhttprequest
npm http 304 https://registry.npmjs.org/location/0.0.1
npm http 304 https://registry.npmjs.org/navigator
npm http 304 https://registry.npmjs.org/jsdom
npm http 304 https://registry.npmjs.org/contextify
npm http GET https://registry.npmjs.org/bindings
npm http GET https://registry.npmjs.org/cssom
npm http GET https://registry.npmjs.org/cssstyle
npm http GET https://registry.npmjs.org/request
npm http 304 https://registry.npmjs.org/bindings
> contextify@0.1.4 install C:\Users\Matt Cashatt\node_modules\jquery\node_module
s\contextify
> node-gyp rebuild
C:\Users\Matt Cashatt\node_modules\jquery\node_modules\contextify>node "C:\Progr
am Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\b
in\node-gyp.js" rebuild
npm http 304 https://registry.npmjs.org/cssstyle
npm http 304 https://registry.npmjs.org/cssom
npm http 304 https://registry.npmjs.org/request
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 (C:\Program Files\nodejs\node_modules\npm\nod
e_modules\node-gyp\lib\configure.js:113:14)
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node
-gyp\lib\configure.js:82:11
gyp ERR! stack at Object.oncomplete (fs.js:297:15)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modu
les\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Matt Cashatt\node_modules\jquery\node_modules\contextify
gyp ERR! node -v v0.8.21
gyp ERR! node-gyp -v v0.8.4
gyp ERR! not ok
npm ERR! error rolling back Error: ENOTEMPTY, rmdir 'C:\Users\Matt Cashatt\node_
modules\jquery\node_modules\jsdom\node_modules\request\tests'
npm ERR! error rolling back jquery@1.8.3 { [Error: ENOTEMPTY, rmdir 'C:\Users\M
att Cashatt\node_modules\jquery\node_modules\jsdom\node_modules\request\tests']
npm ERR! error rolling back errno: 53,
npm ERR! error rolling back code: 'ENOTEMPTY',
npm ERR! error rolling back path: 'C:\\Users\\Matt Cashatt\\node_modules\\jque
ry\\node_modules\\jsdom\\node_modules\\request\\tests' }
npm ERR! contextify@0.1.4 install: `node-gyp rebuild`
npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 1
npm ERR!
npm ERR! Failed at the contextify@0.1.4 install script.
npm ERR! This is most likely a problem with the contextify 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 contextify
npm ERR! There is likely additional logging output above.
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "jquery"
npm ERR! cwd C:\Users\Matt Cashatt
npm ERR! node -v v0.8.21
npm ERR! npm -v 1.2.11
npm ERR! code ELIFECYCLE
npm ERR! Error: ENOENT, lstat 'C:\Users\Matt Cashatt\node_modules\jquery\node_mo
dules\jsdom\node_modules\request\tests\test-pipes.js'
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "jquery"
npm ERR! cwd C:\Users\Matt Cashatt
npm ERR! node -v v0.8.21
npm ERR! npm -v 1.2.11
npm ERR! path C:\Users\Matt Cashatt\node_modules\jquery\node_modules\jsdom\node_
modules\request\tests\test-pipes.js
npm ERR! fstream_path C:\Users\Matt Cashatt\node_modules\jquery\node_modules\jsd
om\node_modules\request\tests\test-pipes.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fst
ream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:297:15)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Users\Matt Cashatt\npm-debug.log
npm ERR! not ok code 0
C:\Users\Matt Cashatt>
看起来失败是由于缺少Python安装。好吧,我已经安装了Python,设置了变量,然后重新启动,仍然是错误。
关于我遗漏了什么有什么线索吗?
如果没有安装python以及所有节点gyp依赖项,只需使用管理员权限打开Powershell或Git Bash并执行:
然后要安装软件包:
安装后,将下载所有节点gyp依赖项,但仍需要环境变量。Validate Python确实位于正确的文件夹中:
Note - it uses python 2.7 not 3.x as it is not supported
如果它没有发出呻吟,请继续创建(用户)环境变量:
重新启动cmd,并通过
set PYTHON
验证变量是否存在,后者应返回变量最后重新应用
npm install <module>
这是一本为我解决了很多问题的指南。
http://www.steveworkman.com/node-js/2012/installing-jsdom-on-windows/
我特别记得python版本很重要。确保安装2.7.3而不是3
你的问题是你没有设置环境变量。
这个错误清楚地说明了这一点:
在你的评论中,你说你做到了:
这很好,但它没有设置
PYTHON
变量,而是设置PYTHONPATH
变量。同时,仅使用
set
命令只会影响当前的cmd
会话。如果你在那之后重新启动,就像你说的那样,你最终会得到一个全新的cmd
会话,其中没有设置该变量。有几种方法可以永久地设置环境变量最简单的是在XP的系统控制面板中,这在Vista中当然是不同的,在7中又是不同的,在8中又是不同的,但是你可以用google搜索。
或者,只需在
npm
命令之前执行set
,而不必在两者之间重新启动。您可以通过执行与配置脚本完全相同的操作来测试您是否正确地完成了任务:在运行
npm
之前,请尝试运行%PYTHON%
。如果你做得对,你会得到一个Python解释器(你可以立即退出)。如果你犯了错误,你就没有做对。有两个问题:
首先,将
PYTHON
设置为;D:\Python
。对于以分号分隔的路径列表(如PATH
或PYTHONPATH
),该额外分号是合适的,但对于单个值(如PYTHON
)则不行。同样地,当您想将另一条路径添加到路径列表中,而不是为一个值添加一个新值时,您需要的是向现有值添加一个新值。所以,你只要set PYTHON=D:\Python
。其次,
D:\Python
不是Python解释器的路径。它类似于D:\Python\Python.exe
,或者D:\Python\bin\Python.exe
。找到正确的路径,确保它独立工作(例如,键入D:\Python\bin\Python.exe
,并确保获得了一个Python解释器),然后设置变量并使用它。所以:
或者,如果你想让它永久,在控制面板中做同样的事情。
相关问题 更多 >
编程相关推荐