我无法在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)
请帮帮我
答案 0 :(得分:352)
我有同样的错误。 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
希望这能帮助那些遇到类似问题的人。
答案 1 :(得分:50)
我在这里遇到同样的问题。
如果您在运行import org.keycloak.events.admin.AdminEvent;
import org.keycloak.models.UserModel;
public void handleResourceOperation(AdminEvent adminEvent, UserModel user) {
MQMessage queueMessage = new MQMessage();
queueMessage.setIpAddress(adminEvent.getAuthDetails().getIpAddress());
queueMessage.setUsername(user.getUsername());
switch (adminEvent.getOperationType()) {
case CREATE:
LOGGER.info("OPERATION : CREATE USER");
LOGGER.info("USER Representation : " + adminEvent.getRepresentation());
String[] split = adminEvent.getRepresentation().split(",");
queueMessage.setTransactionDetail("Created user " + split[0].substring(12));
sendQueueMessage(adminEvent, queueMessage);
break;
case DELETE:
LOGGER.info("OPERATION : DELETE USER");
LOGGER.info("USER Representation : " + adminEvent.getRepresentation());
queueMessage.setTransactionDetail("User has been deleted.");
sendQueueMessage(adminEvent, queueMessage);
break;
}
之后立即尝试运行brew install yarn
并且vo - 修复了!
答案 2 :(得分:46)
在MS Windows上,解决方案是删除%APPDATA%\npm
并重新安装node
答案 3 :(得分:44)
我昨天跑了brew install yarn
之后也得到了这个。至少,在那之前一切都很好。
我运行rm -rf node_modules
并尝试重新安装,但没有npm
命令正常运行。
最后,我采用了相当简单的步骤,通过适用于Mac OS X的官方Node安装程序重新安装Node。
https://nodejs.org/en/download/
现在一切都很好。刚回到目录,运行npm install
并完成了这个技巧。
答案 4 :(得分:17)
在 Arch Linux 上,我的诀窍是:
sudo pacman -Rs npm
sudo pacman -S npm
答案 5 :(得分:12)
刚刚在Arch Linux 4.13.3上遇到过这个问题,我只需重新安装semver
就解决了这个问题:
pacman -S semver
答案 6 :(得分:6)
如果您在Linux服务器中,请退出服务器并重新SSH
答案 7 :(得分:5)
实际上,它正在参考以前存储的模块。
解决方案:删除nodejs安装目录中的npm-cache / npm文件夹。 在Windows中,它位于C:/ User / Username / Appdata / Roaming / npm(或npm_cache)中。 并尝试重新安装。
在任何操作系统中都可以这样做。
答案 8 :(得分:5)
对我来说,这是在我全局安装yarn之后发生的。 要解决此问题,请使用yarn安装并完成npm。
yarn global add npm
答案 9 :(得分:5)
就我而言,在macOS上,我通过安装https://nodejs.org/en/download/上的最新Node和npm版本来解决此问题
答案 10 :(得分:3)
在Windows上,再次下载Node's MSI并执行“修复”对我有效。
答案 11 :(得分:2)
在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提出
答案 12 :(得分:2)
在Ubuntu上,如果您希望使用apt
通过默认存储库管理Node,则最好以这种方式安装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
并正常工作。答案 13 :(得分:2)
我遇到了同样的错误,我解决了。
删除package-lock.json文件和node_modules文件夹,然后alter table temp1 add constraint temp1_pk primary key (id);
答案 14 :(得分:2)
只需卸载 node js,然后使用 nvm 重新安装即可。您的问题将得到解决。我是 debian 10 用户。
mahedi@debain:~$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh |猛击
执行命令后。关闭终端并重新打开,然后运行此命令以安装 node js 最新版本。
mahedi@debain:~$ nvm install v14.15.5
现在通过输入 node -v 来检查
答案 15 :(得分:1)
这在Ubuntu(最新版本为2020年10月)上为我工作
我必须首先从bash来源获取代码:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
这获得了最新版本的节点,该节点更新了我的库并摆脱了'semver'错误。
答案 16 :(得分:1)
对于 Arch Linux
sudo pacman -Rsc -n nodejs
sudo pacman -Sy nodejs
sudo pacman -Sy npm
答案 17 :(得分:1)
我终于想通了!是的,您必须卸载/删除所有文件并重新安装。但是在卸载过程中,某些文件路径会被删除。 Node中的文件路径太长,以至于无法删除它们。您必须重命名文件路径。
卸载Node后,使用命令提示符,导航到... \ Appdata \ roaming \(使用错误消息中的路径)。尝试使用del npm删除该文件夹。然后,如果它不允许您删除文件夹,请开始将下一条错误消息中文件路径中的文件夹重命名为“a”或简短的内容。您可能必须对路径中的多个文件夹执行此操作。然后你应该能够删除!然后重新安装节点,它应该工作。
答案 18 :(得分:1)
我遇到了同样的问题但它是由一个损坏的package-lock.json
文件造成的。
删除package-lock.json
并再次运行npm install
为我修复了它。
答案 19 :(得分:0)
我在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
了。
答案 20 :(得分:0)
对我来说,这是在我的项目中从gulp 3升级到gulp 4时发生的。 因此,当我运行“ gulp watch”命令时,它抛出了同样的错误。
与我全局安装的gulp相比,这可能是由于版本不匹配所致。
因此,用“ -g”全局标志升级gulp会有所帮助,否则我将在下面进行以下操作
但是,我在项目中使用了“ ./node_modules/.bin/gulp监视”。这样可以确保gulp所需的所有依赖项仅来自node_modules。
答案 21 :(得分:0)
正如DeveloperReference.com上的onymous(?)所指出的那样,以下步骤为我解决了在运行npm -install时“找不到模块'semver'”的问题:
*“我按照以下步骤操作,它解决了我的问题 卸载Node.js
答案 22 :(得分:0)
对于Mac用户,我尝试安装一堆新的节点版本并卸载其他版本。那没有解决。您必须先彻底清除所有安装。请遵循以下说明... How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)。
然后下载最新版本的节点。
答案 23 :(得分:0)
只需确保已安装semver
:npm install -g semver
答案 24 :(得分:0)
运行任何'ng'命令(ng --version)后,我收到一条错误消息,指出权限被拒绝。我搜索了一段时间,尝试清除npm缓存npm cache verify
,卸载全局角度cli(npm uninstall -g @angular/cli
),然后重新安装Angular / cli(npm install -g @angular/cli
)等。但这会给出错误提示它已经安装了。但是这里的node_modules文件夹没有任何角度文件夹。.即使重新启动节点,也重新安装了节点。
答案:最终,我发现这里C:\Users\JaGoodwin\AppData\Roaming\npm\
中的ng.cmd和ng.ps1文件仍然存在(在npm文件夹中)..尽管我做了npm uninstall -g @angular/cli
。这些文件导致ng(angular / cli)认为它仍已安装。我删除了那些文件,然后npm install -g @angular/cli@8.3.29
(我需要的版本),然后删除了我的项目node_modules,然后运行了npm install
,现在可以使用ng serve
来运行我的角度项目了。
C:\Users\JaGoodwin\AppData\Roaming\npm\
通过在Windows搜索栏中搜索%APPDATA%进行查找。
答案 25 :(得分:0)
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
然后安装节点和npm
答案 26 :(得分:0)
重新开始。
brew uninstall --force node
brew install node
答案 27 :(得分:0)
在我的MacOs Sierra 10.12.6上安装brew后,我遇到了同样的麻烦。 (并且第一次安装尝试在brew更新后自动发出消息“Homebrew必须在Ruby 2.3下运行!你正在运行2.0.0。(RuntimeError)”。所以我重新运行它。)
所以我使用n manager重新安装npm。
我认为可能会导致在sudo下安装节点的麻烦。
答案 28 :(得分:0)
只需删除您的node_modules
$ sudo apt remove gradle
$ sudo apt-get install gradle
$ gradle wrapper
比
rm -rf node_modules
或
yarn
答案 29 :(得分:0)
就我而言,只需重新运行brew install yarn
即可解决问题。
答案 30 :(得分:0)
在更高版本的cli上运行项目时,我遇到了这个问题。要解决此问题,您只需注释掉@ angular-devkit / build-angular模块,然后再次必须通过
重新安装它npm install @ angular-devkit / build-angular --save
答案 31 :(得分:-1)
只需检查您的预安装脚本(如果有)。有时为了限制node
和npm
的版本,需要运行一个项目。
在这种情况下,您需要通过semver
手动安装npm install -g semver
答案 32 :(得分:-2)
我遇到了同样的问题,并通过升级Node版本来解决了该问题
答案 33 :(得分:-2)
我遇到了同样的问题,但使用以下命令解决了这个问题。
npm install semver