如果这是有关如何使用NVM4W的问题,请改用stackoverflow 。
如果这是有关防病毒的问题,请确保首先搜索现有问题。
[] Windows Server 2016
[]我的Windows安装不是英语。
返回正确的版本号。
module.js:491
犯错
^
错误:找不到模块“ semver”
在Function.Module._resolveFilename(module.js:489:15)
在Function.Module._load(module.js:439:25)
在Module.require(module.js:517:17)
在要求时(internal / module.js:11:18)
在对象。
在Module._compile(module.js:573:30)
在Object.Module._extensions..js(module.js:584:10)
在Module.load(module.js:507:32)
在tryModuleLoad(module.js:470:12)
在Function.Module._load(module.js:462:3)
module.js:491
犯错
^
错误:找不到模块“ semver”
在Function.Module._resolveFilename(module.js:489:15)
在Function.Module._load(module.js:439:25)
在Module.require(module.js:517:17)
在要求时(internal / module.js:11:18)
在对象。
在Module._compile(module.js:573:30)
在Object.Module._extensions..js(module.js:584:10)
在Module.load(module.js:507:32)
在tryModuleLoad(module.js:470:12)
在Function.Module._load(module.js:462:3)
nvm安装8.4.0
nvm使用8.4.0
npm -v
这是一个npm错误,不完全是一个NVM错误。 我建议重新安装节点8.4.0 ....也许npm下载错误或某些东西已损坏。
@coreybutler它不起作用,甚至在停用,卸载,手动删除文件夹以及重新安装并重新激活后仍会失败。 同样的错误。
我什至从节点8.5.0的另一个正常工作安装中复制了npm的node_modules依赖关系,仍然遇到了麻烦。 您能否进一步研究它,看看问题出在哪里?
nvm是一个非常方便的工具,但是无法正常工作了,真可惜:(
不知道该告诉您什么...。我可以使用相同的设置安装semver
。
@coreybutler刚刚打开了一个新的细节
我自己的环境以及我用来在此处复制问题的步骤(封闭重复):#305
与最新的8.8.1相同。
不知道如何通过NVM解决此问题,因为SO建议的只是干净地重新安装节点。 鉴于nvm安装的性质,不确定如何复制这些步骤。 因此,使用节点v8的唯一方法就是不使用NVM?
https://stackoverflow.com/questions/33870520/npm-install-cannot-find-module-semver
nvm install 8.8.1
(或您想要的其他版本)。 请勿切换到它(尚未)。%APPDATA%/nvm/v8.8.1/npm
的内容替换为下载档案中的npm
文件夹nvm use 8.8.1
谢谢@ roman-spiridonov刚在Windows上通过nvm安装的节点8.8.1上遇到了相同的错误,您的解决方法似乎可以胜任
似乎也可以使用最新版本的节点(9.1.0)进行工作。
似乎从npm安装的npm thats与节点本身不兼容,您必须下载zip并替换npm模块,例如@ roman-spiridonov建议
@coreybutler这将无法解决吗? 我看到完全相同的错误-高于= <8.0的任何值。
不幸的是,我无法运行npm i semver
我得到了相同的错误。
@ roman-spiridonov我找不到“ npm”是一个文件夹,而是下载的.zip中的文件。 用下载的替换它似乎并不能解决我遇到的问题(我知道其他人都成功了)
我也有同样的问题。
@ roman-spiridonov的解决方法为我工作。
node 8.9.1
npm 5.5.1
@hyndsite,您需要在node_modules目录中查找-在该目录中是npm目录。 使用它,它应该工作。
谢谢@powellian,我昨天发现了这个消息,并且打算对@ roman-spiridonov消息发布新的更新-正确的路径是%APPDATA%/nvm/v8.8.1/node_modules/npm
/nvm/vx.xx路径中的“ npm”文件有助于解决此问题。
谢谢,它有效,但是现在我想知道为什么nvm下载的软件包与我们下载的软件包不同?
8.9.0和@ roman-spiridonov的解决方法也存在相同的问题,这节省了一天的时间。
像@benavern一样,我很好奇nvm安装的软件包为什么不同于官方仓库中的软件包。
与最新的8.9.4相同。
通过删除目录'C:\ Users \您的名字\ AppData \ Roaming \ nvm \ v *'并重新执行'nvm install'解决了该错误。
替代它以移动nvm根目录。 在安装新节点之前执行nvm root C:\nvm
。
可能还需要将其他文件复制到新的根目录。
如果已经安装,则:
nvm uninstall 8.x.x
nvm root C:\nvm
copy /Y %APPDATA%\nvm\* C:\nvm
nvm install 8.x.x
我遇到了同样的问题(错误:找不到模块'semver')。
一些提示,助您一臂之力:
文件比较(使用官方zip文件)显示,在node_modules\npm
下确实存在> 4k个文件和文件夹。 看来解压缩已终止。 已检查v8.9.1和v8.9.4:缺少按字母顺序在libnpx
之后的所有node_modules。 如果它与那些可笑的嵌套文件夹结构相关,也不会感到惊讶: ...\nvm\v8.9.4\node_modules\npm\node_modules\libnpx\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\node_modules\error-ex\node_modules\is-arrayish\
我选择了当前的nvm-windows大师,在nvm.go
内的安装函数中添加了一些调试信息,对其进行了编译(使用Go 1.10 win x64),并将nvm.exe替换为新的。 结果:
现在对于令人惊讶的部分,当我尝试发现回归时:
在我看来,构建过程和/或环境存在问题。
如果有人可以尝试通过build.bat或go build src/nvm.go
重新创建nvm.exe来解决该问题,那将很棒。
HTH,代码外壳
从文件夹下面删除npm文件夹
C:\ Users用户名\ AppData \ Roamingnpm
之后=> npm install
它对我来说很好!....
今天刚遇到这个问题,这对我有用。
1)打开bash终端
2)将CD放入C:\ Users用户名\ AppData \ Roamingnpm \ node_modules \
3)应该看到一个package.json
4)纱线安装
@codeshell感谢您的分析。 我发现问题是由于Windows上不支持的长路径所致。 对我来说,即使下载了npm zip文件并替换了C:\ Users \您的名字\ AppData \ Roaming \ nvm \ 9.11.1npm的内容,我仍然收到错误。 实际上,由于名称太长,我无法从下载的npm zip文件中复制所有文件。
为避免这种情况,我卸载了节点版本9.11.1,然后卸载了nvm。 在C:\ nvm中重新安装了nvm。 现在,我正常的“ nvm install 9.11.1”工作正常,并且通过运行“ npm -v”可以确认“ npm”也处于良好状态。
我知道这是一个相当大的解决方法,但只需要执行一次即可。
我按照这些步骤操作,它解决了我的问题
通过nvm 1.6.0安装节点对我有用
就我而言,路径太长。 我选择c:\ nvm作为安装目录版本管理器,并选择c:\ nodejs作为symlink目录。 这似乎为我解决了这个问题。
我在节点v10.4.0上遇到了同样的问题,而roman-spiridonov的变通办法为我工作。
在安装nvm-windows之前,我已经删除了%AppData%\npm
等。
尝试启动10.4.1并开始运行时,最初遇到了问题。
在手动从安装位置删除文件夹并再次通过nvm
安装后,它可以正常工作。 不知道这是否太长了(显然不是) C:\Users\muser\AppData\Roaming\nvm\v10.4.1
。
v10.5.0的相同问题和roman-spiridonovs解决方案也对我
安装最新的节点v10.6.0时,我有相同的探针,然后我将其卸载并切换到v8.11.3,问题已解决。
我还尝试直接下载npm-v6.1.0.zip,在解压缩时确实有一些错误。
在10.6.0中遇到了与@shadeofgod相同的问题。 切换到8.11.3即可解决。
完整的首次安装完整版10.6.0-64bit仍然存在问题。 (之前没有节点/ npm)。 roman-spiridonovs解决方案继续运行(对我来说,现在可以在[...node]\node_modules\npm
找到npm-folder)
为什么将近整整一年仍然是一个问题?
刚在Windows 10上遇到此问题。
启用Win32长路径可以解决此问题。 参见@apptaro的帖子( 2018-02-15 )
启用长路径后,我重新启动了Windows以使更改生效。
我还必须手动删除损坏的npm
安装。
之后,我可以使用nvm
再次安装npm
nvm
。
我觉得,如果未启用长路径,Windows下的nvm
应该发出警告。 nvm install
也不应默默地失败。
为了我:
这是我们用于新手的powershell脚本。 希望重新启动后,他们应该能够将其更新到更高版本。
# Get Chocolatey which is required for the rest of this script
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco feature enable -n=allowGlobalConfirmation
choco upgrade chocolatey
choco upgrade nvm
$env:NVM_HOME = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("NVM_HOME","Machine"))
$env:NVM_SYMLINK = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("NVM_SYMLINK","Machine"))
$env:Path = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User"))
# Enable long paths in windows - may avoid npm issue https://github.com/coreybutler/nvm-windows/issues/302
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\ControlSet001\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 -PropertyType DWORD -Force | Out-Null
nvm install 9.11.2
nvm use 9.11.2
不知道该告诉您什么...。我可以使用相同的设置安装
semver
。
我认为运行“ npm install”将解决问题,就像对我所做的那样;)
我相信@momochanmo刚忘记在他们的项目中安装semver软件包。 它具有相同的错误消息,但这是一个完全不同的问题。
回顾一下:该线程是关于nvm安装了npm的损坏版本以及semver软件包的丢失/损坏版本的事实,这使其无法使用。
到目前为止,最有可能建议的根本原因是,大约3年前引入Go编译器的错误/行为更改导致了一个错误,该错误在安装过程中被静默吞噬。 参见https://github.com/coreybutler/nvm-windows/pull/370。
因此,如果您认识某个对Windows感兴趣的人并且对Go充满热情,那么现在正是抓住他们的肩膀并为其提供这一绝佳职业发展机会的好时机😅
我按照这些步骤操作,它解决了我的问题
- 卸载Node.js
- 删除以下文件夹的内容
C:\用户\ AppData \ Roamingnpm-cache
C:\用户\ AppData \ Roamingnpm
C:\ Program档案\ nodejs- 然后再次安装Node _ https://nodejs.org/en/_
遵循此为我工作。 您是救生员!!!! 谢谢<3
最有用的评论
与最新的8.8.1相同。
不知道如何通过NVM解决此问题,因为SO建议的只是干净地重新安装节点。 鉴于nvm安装的性质,不确定如何复制这些步骤。 因此,使用节点v8的唯一方法就是不使用NVM?
https://stackoverflow.com/questions/33870520/npm-install-cannot-find-module-semver
解决方法
nvm install 8.8.1
(或您想要的其他版本)。 请勿切换到它(尚未)。%APPDATA%/nvm/v8.8.1/npm
的内容替换为下载档案中的npm
文件夹nvm use 8.8.1