【问题标题】:git bash does not recognize "environment path" when using package.json scripts使用 package.json 脚本时,git bash 无法识别“环境路径”
【发布时间】:2020-04-19 03:45:33
【问题描述】:

我正在尝试使用 git bash yarn start "start": "node scripts/start.js",
它在使用 PowerShell 或 CMD 时始终有效。
但它不适用于 git bash。

但是当我尝试使用 bash 使用 node scripts/start.js 而不是 yarn start 时,它可以工作!

我测试了 git bash
yarn -v, node -v, npm -v, 每个命令都运行良好。

但不适用于脚本...

这是错误信息

'node' is not recognized as an internal or external command

我试着 "startStart": "yarn start",
而这次 bash 给了我这个错误信息

'yarn ' is not recognized as an internal or external command

我检查了我的环境 PATH,但一切都很好。

--- 环境 VS_CODE
操作系统:窗口 10
节点:13.5
npm : 6.13.4

我用 git 安装了 git-bash
并且所有安装配置都是默认标准的


添加

我觉得 Git-Bash 单独的时候也能找到路径
我认为我们应该关注它只有在尝试触发package.json脚本时才能找到路径

关于.profile 我不知道它是什么,我也从未创建它。
如果它不是默认值 - 存在我没有。

【问题讨论】:

  • 当你运行echo $PATH时你看到<path_to_NODE>
  • 如果你 cd 到你的项目目录并通过 git bash 运行以下命令:npm run env | grep ^PATH= 并类似地使用yarn-run-env 命令,即yarn run env | grep ^PATH= - 它们返回什么?跨度>
  • 如果您在脚本中导入了 DOT 配置文件,能否告诉我们?
  • @madhu sudhan 是的,我可以看到这样的...:/c/Program Files/nodejs:/cmd:/c/Users/colto....
  • @RobC 我可以看到路径.....PATH=/c/Program Files/nodejs/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/c/Users/colto/Desktop/projects/jd-booking-client/node_modules/.bin:/mingw64/bin:/usr/bin:/c/Users/colto/bin:/c/Program Files (x86)/NAT Service:/c/ProgramData/Boxstarter:/c/Program Files (x86)/Common Files/Intel/Shared Libraries/redist/intel64/compi...

标签: bash npm visual-studio-code scripting git-bash


【解决方案1】:

与特定于 windows 无关,npm 在默认 shell 下执行 scripts 命令(在 package.json 中指定),但它不执行对 shell 的登录。

例如,bash login (bash --login) 以使用您的自定义系统环境变量。

您可以使用.npmrc 文件更改此设置并设置script-shell。解决方案见this answer

我希望这就是你所遭受的:)

【讨论】:

  • 是的,这就是我的痛苦:) TY - 现在可以了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-10
  • 2016-09-12
  • 1970-01-01
  • 1970-01-01
  • 2022-11-22
  • 2013-12-03
相关资源
最近更新 更多