我使用Windows 8.1 x64进行所有更新。
我正在使用nodejs 8.9.1 - 我在命令" npm -v"上发生错误。
所以我卸载了这个版本并安装了8.9.3。它在命令上给了我同样的错误
然后我卸载了8.9.3并使用这个答案清理所有路径;
https://stackoverflow.com/a/20711410/1143249
然后安装新版本9.3.0 ...
但是,我仍然在所有npm命令中得到同样的错误 我错过了什么?我该如何解决这个问题?
C:\Users\UserName\Desktop>npm -v
Error: spawn C:\Program Files\nodejs\node.exe ENOENT
at _errnoException (util.js:999:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:201:19)
at onErrorNT (internal/child_process.js:389:16)
at process._tickCallback (internal/process/next_tick.js:152:19)
at Function.Module.runMain (module.js:703:11)
at startup (bootstrap_node.js:194:16)
at bootstrap_node.js:618:3
C:\Program Files\nodejs\node_modules\npm\lib\npm.js:51
throw new Error('npm.load() required')
^
Error: npm.load() required
at Object.get (C:\Program Files\nodejs\node_modules\npm\lib\npm.js:51:13)
at process.errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205:18)
at process.emit (events.js:159:13)
at process._fatalException (bootstrap_node.js:387:26)
5.5.1
events.js:136
throw er; // Unhandled 'error' event
^
Error: spawn C:\Program Files\nodejs\node.exe ENOENT
at _errnoException (util.js:999:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:201:19)
at onErrorNT (internal/child_process.js:389:16)
at process._tickCallback (internal/process/next_tick.js:152:19)
at Function.Module.runMain (module.js:703:11)
at startup (bootstrap_node.js:194:16)
at bootstrap_node.js:618:3
更新
每次我卸载nodejs,清理/删除文件夹并尝试这些版本;
- node-v9.3.0-x64无法正常工作
- node-v8.9.3-x64不工作
- node-v8.9.1-x64无法正常工作
- node-v8.9.0-x64无法正常工作
- node-v7.10.0-x64显示版本号也是一个小错误
这是输出;
C:\Users\UserName\Desktop>npm -v
5.6.0
events.js:163
throw er; // Unhandled 'error' event
^
Error: spawn C:\Program Files\nodejs\node.exe ENOENT
at exports._errnoException (util.js:1050:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
at onErrorNT (internal/child_process.js:367:16)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
at Module.runMain (module.js:607:11)
at run (bootstrap_node.js:427:7)
at startup (bootstrap_node.js:151:9)
at bootstrap_node.js:542:3
更新:
我卸载了Avg防病毒保护并安装了node-v6.12.3-x64.msi。我还有问题,一个例子;我不能像以前那样运行命令;
上次更新
感谢所有答案(直到此日期:10.02.2018 03:30 PM GTM + 3)
(我已经用 vm windows 完成了我的一些工作,直到这个日期,但现在我感到悲伤的消息。)
我跑出了所有选项,我还有很多工作要做npm包。
因此,我已经格式化了我的机器并替换为Windows 10 Enterprise x64。
我现在无法尝试新的答案,但这是我所学到的金点;
如果你有像ci-build(jenkins等)或者
如果你没有多台电脑(并且vm不是一个选项)
只是不时完全备份您的驱动器,因为您永远不会知道
您的计算机软件(如node-npm)可能会产生一些有趣的错误。这就是我学到的,只是说......
答案 0 :(得分:1)
解决方法是确保C:\ Users \ {user} \ AppData \ Roaming \ npm存在并且可以使用普通用户帐户写入。
答案 1 :(得分:1)
虽然在Windows 8上没有测试过Node,但我建议你完全摆脱AppData
文件夹下的npm安装。您可以使用Node版本管理器来实现此目的。我推荐Nodist。您也可以在版本之间轻松切换。
使用Nodist,你可以这样运行命令:
nodist 6.2.10
我怀疑的一点是Node运行时对C:/
驱动器下所需文件的有限访问 - 可能与Windows 8有关。也就是说,您可以在C:/
以外的任何驱动器中安装nodist。同时如@fjoe所述,坚持使用LTS版本,特别是v6.x.x
。
答案 2 :(得分:0)
在选择node.js版本时,需要考虑以下几点。
标记为LTS(长期支持)的版本是他们支持的版本。
您可以看到完整的版本列表here,注意LTS列。看到随每个版本打包的V8和npm版本也很有趣。
根据这些信息,我建议您尝试久经考验的长期支持version 6.*
如果这样可行,那么可能会推迟版本8. *直到更多事情被解决。
其他人对您关于node
或npm
的环境变量的问题发表了评论。这显然不是问题,因为命令被识别并运行(但它们是错误的)。
另外,我建议您按照此完整卸载指南进行操作:How to completely remove node.js from Windows
答案 3 :(得分:0)
我的编码伙伴昨天也有类似的错误,尽管在Linux上。
错误发生在node_modules文件夹中,因此删除它并重新安装节点为他解决了这个问题。
这将是AppData \ Roaming \ npm中的node_module文件夹。
答案 4 :(得分:0)
答案 5 :(得分:0)
从您提供的日志中看起来像缓存错误,因为之前存在一些垃圾而导致问题。
使用管理员权限打开命令提示符,然后按照以下步骤操作:
1)清除缓存:npm cache clean --force
。您还可以运行npm cache verify
。
2)使用以下内容删除node_modules
文件夹:rm -rf node_modules
。
3)删除任何package-lock.json
文件。
4)删除.npm目录。
5)删除以下目录:
5.1) C:\Users\<username>\AppData\Roaming\npm\.
5.2) C:\Users\<username>\AppData\Roaming\npm-cache.
6)另外,请尝试设置环境变量:
C:\Users\<username>\AppData\Roaming\npm;C:\Program Files\nodejs
。
输入命令行:which npm
。
也许您没有设置系统值:NODE_PATH
它应该指向您的全局模块位置。
7)使用npm i -g npm@latest
更新到最新的npm。
希望上述技巧可以解决您的问题。
感谢。
答案 6 :(得分:0)
我想在安装Node.js时,由于许可,它无法设置它的环境路径。
您需要手动将节点路径配置到环境变量中。