Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

打开npm直接报错Api invoke error Error invoking remote method 'apiInvoke': Error: /bin/sh: npm: command not found #427

Open
1 task done
ammondu opened this issue Jan 2, 2025 · 13 comments
Labels
Bug Something isn't working 讨论中

Comments

@ammondu
Copy link

ammondu commented Jan 2, 2025

  • 你是否在现有 Issue列表 中搜索过相同问题,但未找到?

Ⅰ. 请说明操作系统及DS的版本号:

  1. 操作系统:macos 14.7.2
  2. DS版本号:2.0.0-RC1

Ⅱ. 问题描述:

打开npm 直接报错 Api invoke error
Error invoking remote method 'apiInvoke': Error: /bin/sh: npm: command not found

Ⅲ. 期望的结果:

解决bug

Ⅳ. 如何复现问题?

直接打开npm就会提示。

Ⅴ. 请提供相关的错误日志,尽可能的详细:(日志文件在 ${user.home}/.dev-sidecar/logs/ 目录下)

[2025-01-02T10:49:06.864] [INFO] core - shell: npm config list --json
commands: npm config list --json 
   error: Error: Command failed: npm config list --json
/bin/sh: npm: command not found
  cmd: 'npm config list --json'
@ammondu ammondu added the Bug Something isn't working label Jan 2, 2025
@wangliang181230
Copy link
Contributor

看下环境变量有没有配置吧。

@wangliang181230 wangliang181230 added the 等待回复 等待用户回复的问题 label Jan 3, 2025
@Ericlyclyclyc
Copy link

me too...
什么鬼: Api invoke error Error invoking remote method 'apiInvoke': Error: 'npm' �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���

@Ericlyclyclyc
Copy link

cmd打开npm正常啊

看下环境变量有没有配置吧。

@lanhao945
Copy link

遇到了类似的问题。

在ubuntu 22.04 下, node 和npm 均以安装好(通过nvm安装),且终端中node -v 和 npm -v 均能正确输出版本信息。

终端和dev-sidecar 以相同用户启动。

当dev-sidecar 选中npm 代理时,输出异常“Api invoke error Error invoking remote method 'apiInvoke': Error: /bin/bash: 行 1: npm: 未找到命令”

@wangliang181230
Copy link
Contributor

wangliang181230 commented Jan 6, 2025

估计是权限问题,你们把ds的权限提高一下试试。

@ammondu
Copy link
Author

ammondu commented Jan 6, 2025

image

@wangliang181230
Copy link
Contributor

你们尝试下把npm的完整路径配置到 ds 的 npm命令里试一下?

@wangliang181230
Copy link
Contributor

如:
图片

@ammondu
Copy link
Author

ammondu commented Jan 6, 2025

我mac下确实没有这个 /bin/sh: npm: command not found

@ammondu
Copy link
Author

ammondu commented Jan 6, 2025

我在我mac中brew install npm 问题解决。你们可以继续讨论。

@lanhao945
Copy link

通过查找npm 路径得到:

home/username/.nvm/versions/node/v23.5.0/bin/npm
然后按照要求,在devsidecar中配置npm 路径,重启后,尝试开启npm 代理:
Error invoking remote method 'apiInvoke': Error: /usr/bin/env: "node": 没有那个文件或目录

从表现来看,不像是权限,更像是,devsidecar中将node 的路径(或者npm路径)写得相对固定?

@lanhao945
Copy link

lanhao945 commented Jan 6, 2025

这是devsidecar core.log 中关于node 的部分日志:

===>
commands: npm config set proxy=http://127.0.0.1:31181 
   error: Error: Command failed: npm config set proxy=http://127.0.0.1:31181
/bin/bash: 行 1: npm: 未找到命令

    at ChildProcess.exithandler (node:child_process:408:12)
    at ChildProcess.emit (node:events:526:28)
    at maybeClose (node:internal/child_process:1092:16)
    at Socket.<anonymous> (node:internal/child_process:451:11)
    at Socket.emit (node:events:526:28)
    at Pipe.<anonymous> (node:net:687:12) {
  killed: false,
  code: 127,
  signal: null,
  cmd: 'npm config set proxy=http://127.0.0.1:31181'
} 
<===

@lanhao945
Copy link

我在我mac中brew install npm 问题解决。你们可以继续讨论。

ubuntu中通过apt install 应该能解决这个问题。但是这里主要是用到了nvm,是希望通过nvm 来控制node 的版本。估计是引入了nvm 导致了逻辑不兼容。

@wangliang181230 wangliang181230 added 讨论中 and removed 等待回复 等待用户回复的问题 labels Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working 讨论中
Projects
None yet
Development

No branches or pull requests

4 participants