首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >npm/npx命令无法工作的自定义快捷方式

问npm/npx命令无法工作的自定义快捷方式
EN

Ask Ubuntu用户
提问于 2022-06-17 17:39:40
回答 1查看 456关注 0票数 0

问题

我使用GNOME3.36.8运行Ubuntu20.04,并试图设置一个应该运行命令npx mira refresh的快捷方式。这将刷新外部监视器。此命令在终端中运行良好,不需要任何用户输入,但我的need快捷方式不起作用。npm是使用nvm安装的。

我试过什么

我尝试使用gnome快捷方式管理器(在设置>键盘快捷键中)设置快捷方式,但没有成功。重新启动没有帮助。我也尝试过:npm exec -c "mira refresh",因为npx是npm exec的短命令。捷径是Ctrl + R.

我检查了PATH变量,以确保它指向正确的路径,并且它是(输出的第一个路径)。

代码语言:javascript
复制
> 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

我还想检查它们是否是相互冲突的版本。

代码语言:javascript
复制
> 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
[...]

此外,在执行快捷方式(但不是终端中的命令)时,日志中会出现错误:

代码语言:javascript
复制
> cat /var/log/syslog | grep "npx"
sh: 1: exec: npx: not found

问题

  1. 快捷键不是在使用相同的路径变量吗?为什么该命令在终端中正常运行,但通过快捷方式执行时却失败?
  2. 我怎样才能解决我的问题?有什么想法吗?

谢谢你的时间和帮助。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2022-06-20 10:14:55

问题来自通过npm通过nvm安装。

来自https://github.com/nvm-sh/nvm/issues/2025:

原因是nvm将自身安装到.bashrc。如果您直接从桌面环境启动桌面并运行应用程序(即单击图标、自动启动等),.bashrc似乎永远不会得到评估。这将导致应用程序具有一个带有路径变量的环境,该环境缺少适当的节点路径。

我不得不移动这些线:

代码语言:javascript
复制
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和它起了作用。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1414517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档