Ubuntu:将 SFDX (Salesforce) 添加到 bash 路径会破坏 npm

问题描述

我正在接受一些 Salesforce 闪电培训,作为其中的一部分,我安装了他们的 CLI,称为 SFDX。我使用 .bashrc 文件中的这一行将 SFDX bin 添加到路径中。

PATH=~/sfdx/bin:$PATH

作为 Lightning Web 组件开发的一部分,使用了 jest 测试框架。我发现在尝试使用 npm run test:unit 运行一些示例测试时,我会收到以下错误

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'
  ]
}

我尝试重新安装 npm、node 和 sfdx。我还发现了有关该主题的讨论: https://askubuntu.com/questions/1152570/npm-cant-find-module-semver-error-in-ubuntu-19-04 但是,所有建议的解决方案都没有帮助我。

sfdx bin 目录中有一个名为 npm 的文件,只有以下内容

#!/usr/bin/env node
require('../lib/cli.js')(process)

在这里没有过多的经验,所以我不知道它要做什么。如果我从我的路径中删除 sfdx,所有 npm 命令都可以正常运行,但是我不能使用那些对我来说必不可少的命令来完成这项工作。

感谢您的建议!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...