使用 安装节点时nvm
,它在终端中运行良好 - 您可以使用 运行节点应用程序node path/to/app.js
,正如您所期望的那样。
但是,如果您在 Kubuntu/KDE 中创建应用程序菜单启动器,它将无法工作 - 除非您明确地为其提供完整路径,否则它无法找到节点二进制节点,即/home/xxx/.nvm/versions/node/v12.13.1/bin app.js
. 当直接安装节点时(通过 apt 而不是 nvm),这不是必需的。
但是,即使指定完整路径也不适用于 npm。例如,使用 command 创建一个菜单启动器bash -c "cd /path/to/project ; /home/xxx/.nvm/versions/node/v12.13.1/bin/npm run script-name; read -n 1"
,结果终端窗口显示/usr/bin/env: 'node': No such file or directory
(最后read -n 1
只是为了防止终端在错误后立即关闭)。
所以问题是:为什么 KDE 的应用程序菜单找不到 node/npm 二进制文件,更重要的是,如何创建一个可以与 npm 一起使用的启动器?