首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu 19.04中Npm找不到模块"semver“错误

在Ubuntu 19.04中Npm找不到模块"semver“错误
EN

Ask Ubuntu用户
提问于 2019-06-20 11:19:32
回答 7查看 108.5K关注 0票数 25

每当我试图运行npm命令时,我都会得到以下错误。

代码语言:javascript
复制
internal/modules/cjs/loader.js:626
throw err;
^

Error: Cannot find module 'semver'
Require stack:
- /usr/share/npm/lib/utils/unsupported.js
- /usr/share/npm/bin/npm-cli.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:623:15)
    at Function.Module._load (internal/modules/cjs/loader.js:527:27)
    at Module.require (internal/modules/cjs/loader.js:681:19)
    at require (internal/modules/cjs/helpers.js:16:16)
    at Object.<anonymous> (/usr/share/npm/lib/utils/unsupported.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:774:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
    at Module.load (internal/modules/cjs/loader.js:641:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Module.require (internal/modules/cjs/loader.js:681:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/share/npm/lib/utils/unsupported.js',
    '/usr/share/npm/bin/npm-cli.js'
  ]
}

我基本上是在尝试离线使用FreeCodeCamp。它要求我运行命令'npm‘,从中我开始得到这个错误。

我试过重新安装npm,但它不能工作。我还试着安装了验证模块,但这也没有帮助。

哪里可能出了问题,我该怎么解决呢?

EN

回答 7

Ask Ubuntu用户

回答已采纳

发布于 2019-09-03 00:01:40

找到了一个类似的问题,这里和答案是有效的。

代码语言:javascript
复制
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

tar.xz NodeJS下载最新的https://nodejs.org/en/download/文件

代码语言:javascript
复制
tar -xf node-v#.#.#-linux-x64.tar.xz
sudo mv node-v#.#.#-linux-x64/bin/* /usr/local/bin/
sudo mv node-v#.#.#-linux-x64/lib/node_modules/ /usr/local/lib/

其中#.#.#是您下载的版本。

使用

代码语言:javascript
复制
node -v
npm -v
票数 57
EN

Ask Ubuntu用户

发布于 2020-08-28 14:23:29

这取决于您想如何管理节点JS/npm。

正如Baggins建议的那样,您可以从官方网站https://nodejs.org/en/download/安装最新的Node版本。

在Ubuntu上,如果您希望使用apt通过默认存储库管理节点,最好以这种方式安装nodejsnpm

很可能,您正在使用的npm版本期望semver位于与您安装的Node版本不一致的特定位置。如果只有一个版本的nodejs和一个版本的npm,并且它们都是使用默认存储库安装的,那么这应该可以很好地工作。

以下是让Node和npm使用主要Ubuntu存储库的最佳指导:

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

Ask Ubuntu用户

发布于 2021-08-31 05:33:55

我使用nvm管理节点版本,在我的例子中npm syslink被破坏了,我通过卸载然后重新安装节点来解决这个问题。

使用node --version检查节点版本

然后运行nvm uninstall <your version>

然后使用nvm install <your version重新安装

票数 4
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1152570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档