我不能npm install
在NodeJS中使用命令提示符。我在运行时遇到这些错误npm install
:
module.js:339
throw err;
^
Error: Cannot find module 'semver'
at Function.Module._resolveFilename (module.js:337:15)
at Function.Module._load (module.js:287:25)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (C:\Users\admin\AppData\Roaming\npm\node_modules\npm\l
ib\config\defaults.js:6:14)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
我有同样的错误。npm uninstall npm -g
,rm -rf node_modules
对我没有帮助,因为当我尝试时,我得到了Error: Cannot find module 'semver'
。但是我通过以下步骤解决了我的问题(这将删除您可能正在使用的其他全局模块):
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf ~/.npm
brew uninstall --force node
brew install node
希望这对遇到类似问题的人有所帮助。
我在这里面临着同样的问题。
如果在运行后立即发生这种情况,请brew install yarn
尝试运行yarn global add npm
并运行-已修复!
在MS Windows上,解决方案是删除%APPDATA%\npm
并重新安装node
brew install yarn
昨天跑步后,我也有这个。至少到那时为止一切都很好。
我运行rm -rf node_modules
并尝试重新安装,但是没有npm
命令在起作用。
最后,我采取了相当简单的步骤,即通过Mac OS X的官方Node安装程序重新安装Node。
https://nodejs.org/en/download/
现在一切都很好。刚回到目录,运行npm install
就可以了。
在Arch Linux上,我的诀窍是:
sudo pacman -Rs npm
sudo pacman -S npm
刚刚在Arch Linux 4.13.3上遇到了这个问题,我只需重新安装即可解决此问题semver
:
pacman -S semver
实际上,它是参考以前存储的模块。
解决方案:删除nodejs安装目录中的npm-cache / npm文件夹。在Windows中,它位于C:/ User / Username / Appdata / Roaming / npm(或npm_cache)中。并尝试再次安装。
在任何操作系统中都要做相同的事情。
在macOS(10.13.6)上,执行以下命令时
npm install -g react-native-cli
我得到这个错误
Error: Cannot find module 'semver'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/unsupported.js:2:14)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
执行命令后错误得到解决
yarn global add npm
由@Ashoor提出
对我而言,这是在全球安装纱线之后发生的。要解决此问题,请使用yarn和done安装npm。
yarn global add npm
在Windows上,再次下载Node的MSI并执行“修复”对我来说有效。
如果您在Linux服务器中,请退出服务器并重新ssh
我有同样的问题,但这是由package-lock.json
文件损坏引起的。
删除package-lock.json
并npm install
重新运行对我来说已经解决了。
当我npm install
使用较低版本的节点运行时遇到了这个问题。然后,当我升级到最新版本的node并运行时gulp
,它显示了此错误。
要解决,删除了node_modules并重新运行npm install
。然后gulp
跑得很好。
就我而言,在macOS上,我通过从https://nodejs.org/en/download/安装了最新的Node和npm版本来解决此问题。
只需删除/ node_modules文件夹,然后重试。;)
您可以使用npm rm
将其删除。
您也可以在GitHub上检查此问题。要更详细地了解内容,请尝试遵循以下步骤:
解除安装
所以遗憾地看到你去。
sudo
npm uninstall npm -g
或者,如果失败,sudo make uninstall更严重的卸载
通常,以上说明就足够了。这将删除npm,但保留所有已安装的内容。
如果要删除已安装的所有软件包,则可以使用npm ls命令找到它们,然后使用npm rm删除它们。
要删除npm 0.x留下的碎片,可以使用随附的clean-old.sh脚本文件。您可以像这样方便地运行它:
npm Explore npm -g-sh脚本/clean-old.sh npm使用两个配置文件,一个用于每个用户的配置,另一个用于全局(每个用户)的配置。您可以通过以下方式查看它们:
npm config get userconfig#默认为〜/ .npmrc npm config get globalconfig#默认为/ usr / local / etc / npmrc卸载npm不会默认删除配置文件。如果您希望它们消失,则必须手动将其删除。请注意,这意味着以后的npm安装将不会记住您选择的设置。
我终于想通了!是的,您必须卸载/删除所有文件并重新安装。但是,在卸载过程中,某些文件路径太长而无法删除。Node中的文件路径太长,可能无法删除它们。您必须重命名文件路径。
卸载Node之后,使用命令提示符,导航到... \ Appdata \ roaming \(使用错误消息中的路径)。尝试使用del npm删除文件夹。然后,如果不允许您删除文件夹,请在下一条错误消息中将文件路径中的文件夹重命名为“ a”或简称。您可能必须对路径上的多个文件夹执行此操作。然后,您应该可以删除!然后重新安装节点,它应该可以工作。
只要确保semver
已安装:npm install -g semver
这对我在Ubuntu(最新版本为2020年10月)上有效
我必须首先从bash源获取代码:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
这获得了最新版本的node,该节点更新了我的库并摆脱了'semver'错误。
就我而言,只需重新运行即可brew install yarn
解决问题。
brew在MacOs Sierra 10.12.6上安装纱线后,我也遇到了同样的麻烦。(并且第一次尝试安装是在brew更新自我之后,出现消息“必须在Ruby 2.3下运行Homebrew!您正在运行2.0.0。(RuntimeError)。”因此,我重新运行它。)
所以我用n manager重新安装npm。
- 通过带有空参数的“ n”命令切换到另一个节点版本(对于我来说是8.0)
- 或通过“ n xxx”安装新版本,其中xxx为节点版本号(我需要6.9.1)
- 通过“ n rm xxx”删除工作版本,其中xxx为节点版本号。如果需要使用sudo
- 通过“ n xxx”安装工作版本,其中xxx为节点版本号。如果需要使用sudo
- 切换到节点的工作版本。(请参阅第一步以供参考)
我认为麻烦可能是由于在情况下将节点安装在sudo下。
对于Mac用户,我尝试安装大量新节点版本并卸载其他版本。那没有解决。您必须先彻底清除所有安装。请遵循以下说明... 如何完全卸载Node.js,然后从头开始重新安装(Mac OS X)。
然后下载最新版本的节点。
我在AWS Linux上安装时遇到了同样的问题。我必须使用安装它sudo
。因此,为了解决这个问题,我遵循了本文的步骤3(确保获取最新版本的node)
https://www.hostingadvice.com/how-to/update-node-js-latest-version/
wget https://nodejs.org/dist/vx.x.x/node-vx.x.x-linux-x64.tar.xz
tar -C /home/aUser/node --strip-components 1 -xJf node-vx.x.x-linux.x64.tar.xz
但是将其安装到用户的主目录/home/aUser/node
。然后将该路径添加到我的PATH中。
export PATH=/home/aUser/node/bin:$PATH
在那之后,我能够做到npm install
没有任何问题。
在更高版本的cli上运行项目时,我遇到了这个问题。要解决此问题,您可以简单地注释掉@ angular-devkit / build-angular模块,然后再次通过重新安装它
npm install @ angular-devkit / build-angular --save
对我来说,这是在我的项目中从gulp 3升级到gulp 4时发生的。因此,当我运行“ gulp watch”命令时,它抛出了同样的错误。
与我全局安装的gulp相比,这可能是由于版本不匹配所致。
因此,用“ -g”全局标志升级gulp会有所帮助,否则我将在下面关注
但是,我在项目中使用了“ ./node_modules/.bin/gulp监视”。这样可以确保gulp所需的所有依赖项仅来自node_modules。
正如DeveloperReference.com上的onymous(?)所指出的那样,以下步骤在运行npm -install时为我解决了“找不到模块'semver'”的问题:
*“我按照以下步骤操作,它解决了我卸载Node.js的问题
- 删除以下文件夹的内容
- C:\ Users \ {用户名} \ AppData \ Roaming \ npm-cache
- C:\ Users \ {用户名\ \ AppData \ Roaming \ npm
- C:\ Program Files文件\随后的NodeJS再次从安装节点https://nodejs.org/en/ “*
在Ubuntu上,如果你宁愿通过使用默认的仓库管理节点apt
,最好同时安装nodejs
和npm
这样。
您正在使用的npm版本很可能semver
在特定的地方期望与您已安装的Node JS版本不一致。如果仅存在的一个版本nodejs
和的一个版本npm
,并且都使用默认存储库安装了它们,那么这应该可以正常工作。
这是有关使用主要的Ubuntu存储库使Node和npm工作的最佳指导:
sudo apt-get purge nodejs --auto-remove
和sudo apt-get purge npm --auto-remove
whereis node
:一次删除一个节点的所有版本。重复此命令,直到该命令在之后返回空白node:
。sudo apt-get install nodejs
node --version
:应返回... no such file or directory
nodejs --version
:应该退货v1x.x.x
。这是所安装的版本apt
。Node JS网站上提供的最新版本可能不会那么新。sudo apt-get install npm
npm --version
:它将使用已nodejs
安装的apt
并且正常工作。
只需检查您的预安装脚本(如果有)。有时要限制的版本,node
并且npm
需要运行一个项目。
如果是这种情况,您需要semver
通过以下方式手动安装npm install -g semver
我遇到了同样的问题,并通过升级Node版本修复了该问题
文章标签:javascript , mean-stack , node.js
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!
评论已关闭!