Npm安装无法找到模块'

我不能在NodeJS中使用命令提示符使用npm install。我在运行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)
303560 次浏览

只需删除/node_modules文件夹,然后重试。;)

你可以使用npm rm来移除它。

你也可以在GitHub上检查这个问题。 更具体地说,unnistal,尝试遵循:

卸载

看到你走我很难过。

sudo npm uninstall npm -g或者,如果失败,

sudo make uninstall More Severe卸载

通常,上述指令是足够的。这将删除npm,

.

.

如果你想删除你已经安装的所有软件包, 然后您可以使用NPM ls命令来查找它们,然后NPM rm来 移除它们。< / p >

移除npm 0留下的cruft。X,你可以使用包含的 Clean-old.sh脚本文件。你可以像这样方便地运行它:

npm explore npm -g——sh scripts/clean-old.sh npm使用两个 配置文件,一个用于每个用户的配置,另一个用于全局配置 (所有用户)配置。你可以这样查看:

npm config get userconfig # defaults to ~/。NPM配置 globalconfig #默认为/usr/local/etc/npmrc 默认情况下不删除配置文件。你必须移除它们 如果你想赶走他们,自己动手。注意,这意味着 将来的NPM安装将不会记住您的设置 选择. < / p >

我也犯了同样的错误。npm uninstall npm -grm -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

希望这能帮助到那些有类似问题的人。

在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,它就完成了任务。

在Windows上,再次下载节点的MSI并进行“修复”对我有用。

我有同样的问题,但这是由损坏的package-lock.json文件引起的。

删除package-lock.json并再次运行npm install为我修复了它。

刚刚在Arch Linux 4.13.3上遇到这个问题,我通过简单地重新安装semver解决了这个问题:

pacman -S semver

Arch Linux上,对我来说是什么把戏:

sudo pacman -Rs npm
sudo pacman -S npm

实际上,它引用了以前存储的模块。

解决方法:删除nodejs安装目录下的“npm-cache/npm”文件夹。 在windows中,它在C:/User/Username/Appdata/Roaming/npm(或npm_cache)中。

在任何操作系统中都是一样的。

在我的情况下,简单地重新运行brew install yarn解决了这个问题。

在brew在我的MacOs Sierra 10.12.6上安装纱线后,我也遇到了同样的麻烦。(并且在brew更新自我后第一次尝试安装,并提示“Homebrew必须在Ruby 2.3下运行!”您正在运行2.0.0。(RuntimeError)”。所以我重新运行了一遍。)

所以我使用n管理器重新安装npm。

  • 通过参数为空的“n”命令切换到另一个节点版本(在我的例子中是8.0)
  • 或者通过“n x.x.x”安装new,其中x.x.x为节点版本号(我需要6.9.1)
  • 删除工作版本号为“n rm x.x.x”,其中x.x.x为节点版本号。如果需要,请使用sudo
  • 通过“n x.x.x”安装工作版本号,其中x.x.x表示节点版本号。如果需要,请使用sudo
  • 切换到节点的工作版本。(参考第一步)

我想问题可能是在sudo下安装的节点。

我终于明白了!是的,您必须卸载/删除所有文件并重新安装。但是有些文件路径太长,无法在卸载过程中删除。Node中的文件路径太长,可能无法删除。您必须重命名文件路径。

卸载节点后,使用命令提示符,导航到…\Appdata\roaming\(使用错误消息中的路径)。尝试用del npm删除该文件夹。然后,如果它不允许您删除文件夹,那么在下一个错误消息中开始将文件路径中的文件夹重命名为“a”或其他短名称。您可能必须对路径上的多个文件夹执行此操作。然后你就可以删除了!然后重新安装节点,它应该工作。

当我使用较低版本的node运行npm install时遇到了这个问题。然后,当我升级到最新版本的节点并运行gulp时,它显示了这个错误。

为了解决这个问题,删除node_modules并重新运行npm install。然后gulp运行正常。

我在这里也面临同样的问题。

如果这种情况发生在你运行brew install yarn之后,尝试运行yarn global add npm和voilà -修复!

只要检查你的预安装脚本,如果你有一个。有时为了限制nodenpm的版本,需要运行一个项目。

如果是这种情况,你需要通过npm install -g semver手动安装semver

我在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

只要确保semver已经安装:npm install -g semver

在我的情况下,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之后。 要解决这个问题,使用yarn安装npm,然后done
yarn global add npm
对我来说,它发生在我的项目从gulp 3升级到gulp 4的时候。 所以,当我运行“gulp watch”命令时,它抛出了我同样的错误

这可能是由于与我的全球安装的gulp版本不匹配。

因此,要么用“-g”全局标志升级gulp会有所帮助,要么我按照下面的方法进行

但是,我在我的项目中使用了“./node_modules/.bin/gulp watch”。这确保了gulp需要的所有依赖项都只取自node_modules。

如果您是在Linux服务器退出服务器,并重新ssh

在Ubuntu上,如果你想通过默认的存储库使用apt来管理Node,最好同时安装nodejsnpm

你正在使用的npm版本很可能在某个特定的地方期望semver与你已经安装的Node JS版本不一致。如果只有一个版本的nodejs和一个版本的npm,并且它们都是使用默认存储库安装的,这应该可以完美地工作。

下面是我的最佳指导,让Node和npm使用Ubuntu的主要存储库工作:

  1. sudo apt-get purge nodejs --auto-removesudo apt-get purge npm --auto-remove
  2. whereis node:每次删除一个node的所有版本。重复此操作,直到该命令在node:后返回空白。
  3. sudo apt-get install nodejs
  4. node --version:应该返回... no such file or directory
  5. nodejs --version:应该返回v1x.x.x。这是由apt安装的版本。它可能比Node JS网站上的最新版本更早。
  6. sudo apt-get install npm
  7. npm --version:它将使用由apt安装的nodejs并正常工作。

这适用于我的Ubuntu(最新版本日期为2020年10月)

我必须首先从bash源代码中获取代码:

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

这得到了更新我的库的节点的最新版本,并摆脱了'semver'错误。

我得到一个错误说权限被拒绝后运行任何'ng'命令(ng——版本)。我谷歌了一下,尝试清除npm缓存npm cache verify,卸载我的全局angular cli (npm uninstall -g @angular/cli),重新安装angular /cli (npm install -g @angular/cli)等。但它会给出一个错误,说它已经安装。但是这里的node_modules文件夹不会有任何angular文件夹。重新安装节点,然后重新启动我的电脑。

答案:最后我发现ng。CMD和ng。ps1文件在C:\Users\JaGoodwin\AppData\Roaming\npm\这里仍然存在(在npm文件夹)..尽管我做了npm uninstall -g @angular/cli。这些文件导致ng (angular/cli)认为它仍然被安装。我删除了这些文件,然后npm install -g @angular/cli@8.3.29(我需要的版本),然后删除了我的项目node_modules,然后运行npm install,现在可以使用ng serve运行我的angular项目。

enter image description here

C:\Users\JaGoodwin\AppData\Roaming\npm\

通过文件夹搜索%APPDATA%在你的windows搜索栏中找到这个。

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* ~/.npm
sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/bin/node*
sudo rm -rf /usr/local/include/node*


sudo apt-get purge nodejs npm
sudo apt autoremove

然后安装node和npm

重新开始。

brew uninstall --force node
brew install node

我得到了同样的错误,我解决了它。

删除package-lock.json文件和node_modules文件夹,然后删除npm install

只要删除你的node_modules

rm -rf node_modules

yarn

npm install

只需卸载node js,然后使用nvm重新安装。你的问题会解决的。我是debian 10的用户。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

执行命令后。关闭终端并重新打开,然后运行此命令安装node js的最新版本。

nvm install v14.15.5

现在输入node -v进行检查

对于arch linux

sudo pacman -Rsc -n nodejs
sudo pacman -Sy nodejs
sudo pacman -Sy npm

这里找到:https://github.com/npm/npm/issues/15558

我也遇到过同样的问题,我解决它的方法是执行

PATH="$PATH"

在终端中,问题是终端保留了旧的nodejs路径,而不是使用新的路径。

删除(或重命名)克隆库的semver文件夹版本: "gitClonedRepository/App/node_modules/semver" < / p >

和复制quot;semver"文件夹的 "C:\Program Files\nodejs\node_modules\npm\node_modules\semver" < / p >

进入应用程序的node_modules文件夹。

(如果你在Windows上,否则它必须位于/usr/local/lib/node_modules)。

只是提醒一下可执行文件npm通过node env执行:

xb@dnxb:/tmp$ type -a npm
npm is /usr/bin/npm
npm is /bin/npm
xb@dnxb:/tmp$ realpath /usr/bin/npm /bin/npm
/usr/share/npm/bin/npm-cli.js
/usr/share/npm/bin/npm-cli.js
xb@dnxb:/tmp$
xb@dnxb:/tmp$ head -1 /usr/share/npm/bin/npm-cli.js
#!/usr/bin/env node

我可以检查type -a选择了哪个节点,第一行具有最高优先级,即如果我运行/usr/local/bin/node /usr/share/npm/bin/npm-cli.js,我可以得到相同的错误,但如果我运行/usr/bin/node /usr/share/npm/bin/npm-cli.js,则没有错误:

xb@dnxb:/tmp$ type -a node
node is /usr/local/bin/node
node is /usr/bin/node
node is /bin/node
xb@dnxb:/tmp$ realpath /usr/local/bin/node
/usr/local/bin/node
xb@dnxb:/tmp$ realpath /usr/bin/node
/usr/bin/node
xb@dnxb:/tmp$ realpath /bin/node
/usr/bin/node
xb@dnxb:/tmp$

基于realpath有2个唯一的节点exe。如果你有类似的情况,那么你需要找出如何删除不需要/损坏的节点exe,例如sudo rm /usr/local/bin/node或操纵env $PATH

我所需要的只是我正在工作的目录中的sudo rm -rf node_modules/。这发生在我用n lts更新节点版本之后

首先,你可以尝试关闭当前终端选项卡,并打开新的工作

< p >别介意 安装纱。从npm

开始执行并行安装,从而获得更好的速度和性能
 sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn -y

在WSL上(所以,~Ubuntu),我在安装了nodejsnpmapt后,遇到了这个问题,然后使用n更新节点。

我能够通过完全删除apt的npm: sudo apt purge npm安装来解决这个问题。