我使用GNOME3.36.8运行Ubuntu20.04,并试图设置一个应该运行命令npx mira refresh的快捷方式。这将刷新外部监视器。此命令在终端中运行良好,不需要任何用户输入,但我的need快捷方式不起作用。npm是使用nvm安装的。
我尝试使用gnome快捷方式管理器(在设置>键盘快捷键中)设置快捷方式,但没有成功。重新启动没有帮助。我也尝试过:npm exec -c "mira refresh",因为npx是npm exec的短命令。捷径是Ctrl + R.
我检查了PATH变量,以确保它指向正确的路径,并且它是(输出的第一个路径)。
> echo $PATH
/home/myName/.nvm/versions/node/v18.3.0/bin:/home/myName/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
> which npx
/home/myName/.nvm/versions/node/v18.3.0/bin/npx我还想检查它们是否是相互冲突的版本。
> dpkg -l npx
dpkg-query: no packages found matching npx
>locate npx
/home/myName/.npm/_npx
[...]
/home/myName/.nvm/versions/node/v18.3.0/bin/npx
[...]此外,在执行快捷方式(但不是终端中的命令)时,日志中会出现错误:
> cat /var/log/syslog | grep "npx"
sh: 1: exec: npx: not found谢谢你的时间和帮助。
发布于 2022-06-20 10:14:55
问题来自通过npm通过nvm安装。
来自https://github.com/nvm-sh/nvm/issues/2025:
原因是nvm将自身安装到.bashrc。如果您直接从桌面环境启动桌面并运行应用程序(即单击图标、自动启动等),.bashrc似乎永远不会得到评估。这将导致应用程序具有一个带有路径变量的环境,该环境缺少适当的节点路径。
我不得不移动这些线:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion对.profile和它起了作用。
https://askubuntu.com/questions/1414517
复制相似问题