首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VSCODE & GitHub桌面预提交钩子: npx:命令未找到

VSCODE & GitHub桌面预提交钩子: npx:命令未找到
EN

Stack Overflow用户
提问于 2021-04-15 20:52:24
回答 9查看 23K关注 0票数 31

我正在启动一个新的回购程序,认为我应该使用最新的Huksy v6,它是从LintStaged安装的,使用他们的安装指南:

代码语言:javascript
运行
复制
npx mrm lint-staged

// package.json updated with:
"husky": ">=6",
"lint-staged": ">=10",

这将添加必要的包并添加哈士奇文件(包括预提交文件):

代码语言:javascript
运行
复制
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged

当我在终端上运行提交时,它工作得很好。但是,如果我试图在GitHub桌面或VSCode中运行提交(我知道有些队友会这样做),这会导致两个方面都出现错误:

npx:命令找不到。哈士奇-使用代码127退出的预提交挂钩(错误)

我安装了npx:

代码语言:javascript
运行
复制
npx -v
// 6.14.10

如果我尝试在globall中安装,如其他StackOverflow建议中所描述的,它将返回一个关于现有位置的警告(包括和退出sudo):

呃!EEXIST:文件已经存在,符号链接‘../lib/node_node/npx/index.js’-> -> npm ERR!文件存在: /Users/plucks/.nvm/versions/node/v14.15.4/bin/npx npm错误!删除现有文件,然后再试一次,或者运行npm!强行草率地覆盖文件。

有什么我可以做的,以便像VSCode & GitHub桌面这样的程序能够运行?

EN

回答 9

Stack Overflow用户

发布于 2021-05-11 07:44:20

我已经找到解决办法了。希望你也能找到它!

为了清楚起见,这就是:

  • 如果您还没有~/.huskyrc文件,那么添加一个文件
  • 确保它包括以下内容:
代码语言:javascript
运行
复制
# ~/.huskyrc
# This loads nvm.sh and sets the correct PATH before running hook
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
票数 46
EN

Stack Overflow用户

发布于 2021-08-06 21:38:22

根据这一建议,将以下内容添加到pre-commit文件中应该会修复它:

代码语言:javascript
运行
复制
export NVM_DIR="$HOME/.nvm/nvm.sh"
. "$(dirname $NVM_DIR)/nvm.sh"

export NVM_DIR="$HOME/.nvm"
a=$(nvm ls | grep 'node')
b=${a#*(-> }
v=${b%%[)| ]*}

export PATH="$NVM_DIR/versions/node/$v/bin:$PATH"

所以完整的文件应该如下所示:

代码语言:javascript
运行
复制
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

export NVM_DIR="$HOME/.nvm/nvm.sh"
. "$(dirname $NVM_DIR)/nvm.sh"

export NVM_DIR="$HOME/.nvm"
a=$(nvm ls | grep 'node')
b=${a#*(-> }
v=${b%%[)| ]*}

export PATH="$NVM_DIR/versions/node/$v/bin:$PATH"

npm run test
票数 16
EN

Stack Overflow用户

发布于 2022-02-10 20:19:46

对于husky>=6:更新.husky/pre-commit文件以包含以下内容:

代码语言:javascript
运行
复制
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

npx lint-staged

这将找到并公开正在使用的当前node路径和npx路径,该路径已配置为Node nvm

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

https://stackoverflow.com/questions/67115897

复制
相关文章

相似问题

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