关于javascript:Npm install找不到模块’semver’

Npm install cannot find module 'semver'

我不能使用nodejs中的命令提示符来使用npm install。当运行npm install时,我得到了这些错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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. (C:\Users\admin\AppData
oaming
pm
ode_modules
pm\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)

请帮帮我


我也有同样的错误。以东十一〔1〕和以东十一〔2〕对我没有帮助,因为我试着去买以东十一〔3〕的时候。但我用这些步骤解决了我的问题(这将删除您可能使用的其他全局模块):

  • 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并voil_fixed!


在MS Windows上,解决方案是删除%APPDATA%
pm
并重新安装node


在昨天运行了brew install yarn之后,我也有过这样的经历。至少在那之前一切都很好。

我运行了rm -rf node_modules并试图重新安装,但没有npm命令起作用。

最后,我采取了相当简单的步骤,通过Mac OS X的官方节点安装程序重新安装节点。

网址:https://nodejs.org/en/download/

现在一切都很好。刚刚回到目录,运行npm install,它就完成了。


在ArchLinux上,我的诀窍是:

1
2
sudo pacman -Rs npm
sudo pacman -S npm


刚在ArchLinux4.13.3上遇到这个问题,我只需重新安装semver就解决了这个问题:

1
pacman -S semver

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

解决方案:删除nodejs安装目录中的npm cache/npm文件夹。在Windows中,它位于c:/user/username/appdata/roaming/npm(或npm_缓存)中。尝试重新安装。

在任何操作系统中都要做同样的事情。


在Windows上,再次下载节点的MSI并执行"修复"对我来说很有效。


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

为了解决这个问题,删除了节点模块并重新运行npm install。然后,以东十一〔二十〕号运行良好。


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

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


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

卸载节点后,使用命令提示,导航到…AppData
oaming(使用错误消息中的路径)。尝试用del npm删除文件夹。然后,如果它不允许您删除文件夹,则在下一条错误消息中将文件路径中的文件夹重命名为"A"或短一些。可能需要对路径上的多个文件夹执行此操作。那么你就可以删除了!然后重新安装节点,它应该可以工作。


只需删除/node_modules文件夹并重试。;)

您可以使用npm rm删除它。

你也可以在Github上查看这个问题。要更具体地了解Unnistal,请尝试以下操作:

Uninstalling

So sad to see you go.

sudo npm uninstall npm -g Or, if that fails,

sudo make uninstall More Severe Uninstalling

Usually, the above instructions are sufficient. That will remove npm,
but leave behind anything you've installed.

If you would like to remove all the packages that you have installed,
then you can use the npm ls command to find them, and then npm rm to
remove them.

To remove cruft left behind by npm 0.x, you can use the included
clean-old.sh script file. You can run it conveniently like this:

npm explore npm -g -- sh scripts/clean-old.sh npm uses two
configuration files, one for per-user configs, and another for global
(every-user) configs. You can view them by doing:

npm config get userconfig # defaults to ~/.npmrc npm config get
globalconfig # defaults to /usr/local/etc/npmrc Uninstalling npm does
not remove configuration files by default. You must remove them
yourself manually if you want them gone. Note that this means that
future npm installs will not remember the settings that you have
chosen.


在我的Macos Sierra 10.12.6上安装了纱线之后,我也遇到了同样的麻烦。(第一次尝试安装是在BREW更新self之后,并显示消息"必须在Ruby 2.3下运行homebrew!"您正在运行2.0.0。(运行时错误)"。所以我重新运行它。)

所以我使用N管理器重新安装NPM。

  • 通过带空参数的"n"命令切换到另一个节点版本(在我的情况下为8.0)
  • 或者通过"n x.x.x"安装新的,其中x.x.x是节点版本号(我需要6.9.1)
  • 通过"n rm x.x.x"删除工作版本,其中x.x.x是节点版本号。必要时使用sudo
  • 按"n x.x.x"安装工作版本,其中x.x.x是节点版本号。必要时使用sudo
  • 切换到节点的工作版本。(参考第一步)

我认为问题可能是因为节点安装在sudo下。


只要确保安装了semvernpm install -g semver


对于Mac用户,我尝试安装一些新的节点版本并卸载不同的版本。这并没有解决问题。你必须先彻底清除所有安装。请遵循以下说明…如何完全卸载node.js并从头重新安装(mac os x)。

然后下载最新版本的节点。


在AWS Linux上安装时也遇到了同样的问题。我必须用sudo安装它。为了解决这个问题,我遵循了本文的步骤3(确保获得最新版本的节点)

https://www.hostingadvice.com/how-to/update-node-js-latest-version/最新版本/

1
2
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。然后把那个路径添加到我的路径中。

export PATH=/home/aUser/node/bin:$PATH

在那之后,我可以毫无问题地做一个npm install


在更高版本的CLI上运行Project时,我遇到了这个问题。要解决这个问题,您可以简单地注释@angular devkit/build angular module,然后再次通过重新安装它。

npm install @angular-devkit/build-angular --save


在我的例子中,仅仅重新运行brew install yarn就解决了这个问题。


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

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


我遇到了同样的问题,并通过升级我的节点版本来解决它。