每当我试图运行npm命令时,我都会得到以下错误。
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,但它不能工作。我还试着安装了验证模块,但这也没有帮助。
哪里可能出了问题,我该怎么解决呢?
发布于 2019-09-03 00:01:40
找到了一个类似的问题,这里和答案是有效的。
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/文件
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/其中#.#.#是您下载的版本。
使用
node -v
npm -v发布于 2020-08-28 14:23:29
这取决于您想如何管理节点JS/npm。
正如Baggins建议的那样,您可以从官方网站https://nodejs.org/en/download/安装最新的Node版本。
在Ubuntu上,如果您希望使用apt通过默认存储库管理节点,最好以这种方式安装nodejs和npm。
很可能,您正在使用的npm版本期望semver位于与您安装的Node版本不一致的特定位置。如果只有一个版本的nodejs和一个版本的npm,并且它们都是使用默认存储库安装的,那么这应该可以很好地工作。
以下是让Node和npm使用主要Ubuntu存储库的最佳指导:
sudo apt-get purge nodejs --auto-remove和sudo apt-get purge npm --auto-removewhereis node:删除节点的所有版本,每次一个版本。重复,直到此命令在node:之后返回空白。sudo apt-get install nodejsnode --version:应该返回... no such file or directorynodejs --version:应该返回v1x.x.x。这是apt安装的版本。最近在Node网站上发布的最新版本可能会更少。sudo apt-get install npmnpm --version:它将使用apt安装的nodejs并正确工作。发布于 2021-08-31 05:33:55
我使用nvm管理节点版本,在我的例子中npm syslink被破坏了,我通过卸载然后重新安装节点来解决这个问题。
使用node --version检查节点版本
然后运行nvm uninstall <your version>
然后使用nvm install <your version重新安装
https://askubuntu.com/questions/1152570
复制相似问题