【问题标题】:npm cannot find module 'semver' after reinstall重新安装后 npm 找不到模块“semver”
【发布时间】:2020-01-17 08:34:30
【问题描述】:

我使用的是 ubuntu 19.04。

尝试使用 npm 执行任何操作时出现以下错误

internal/modules/cjs/loader.js:638
    throw err;
    ^

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:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/usr/share/npm/lib/utils/unsupported.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789: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)

我曾尝试从 SO 应用不同的解决方案,但不幸的是它们没有奏效。

它在重新安装 NPM 后开始发生,因为一些错误我很遗憾无法重新创建。

我尝试过的

sudo apt purge nodejs
sudo apt autoremove

在这两个步骤之后,npm 被卸载。

npm -v
bash: /usr/bin/npm: No such file or directory

我继续

sudo apt install nodejs

但是,即使在我清除了文件之后,错误也会发生

User@User:/$ node -v
v10.16.3
User@User:/$ npm -v
internal/modules/cjs/loader.js:638
    throw err;
    ^

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:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/usr/share/npm/lib/utils/unsupported.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789: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)

我也试过了

sudo apt purge npm
sudo apt purge nodejs
sudo apt autoremove
sudo apt install npm
sudo apt install nodejs
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf ~/.npm
brew uninstall --force node
brew install node

它仍然会产生相同的错误。应该使用这两种方法卸载全局文件。

为了确定我已经搜索了计算机并删除了任何看起来与 node 或 npm 相关的内容。

sudo find / -type f -name "node"
sudo find / -type f -name "node_modules"
sudo find / -type f -name "npm"

如果通过清除进行了某些操作,可能是某些与 NPM 的文件通信产生了错误。

【问题讨论】:

    标签: ubuntu npm semantic-versioning


    【解决方案1】:

    试试

    curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
    apt-get update
    apt-get install nodejs
    

    您可能还想在这里查看答案:Npm install cannot find module 'semver'

    【讨论】:

    • 答案不止一个,不是吗?最近我也遇到了同样的问题,我通过上面提到的命令直接安装解决了这个问题。我提到的帖子显示了安装 npm 的替代方法,这就是我所指的。
    【解决方案2】:

    我遇到了类似的问题,重新安装对我有用。这种直截了当的方法对我来说很好。成立here

    首先,移除老员工

    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
    

    然后,从official site下载最新的 tar.xz NodeJS 文件

    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
    

    【讨论】:

    • 谢谢!成功了!
    猜你喜欢
    • 2016-02-25
    • 1970-01-01
    • 2019-05-31
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    相关资源
    最近更新 更多