Yarn 无法执行 source 命令

Posted

技术标签:

【中文标题】Yarn 无法执行 source 命令【英文标题】:Yarn cannot execute source command 【发布时间】:2021-03-09 05:13:31 【问题描述】:

我想在运行 Node JS 应用程序之前运行 NVM 命令。但是当我想执行source命令时,出现如下错误:

package.json 文件内:


  "scripts": 
    "prestart": "source $NVM_DIR/nvm.sh; nvm use 14.15.1"
  ,

运行yarn run prestart命令后的输出:

yarn run v1.22.5
$ source $NVM_DIR/nvm.sh; nvm use 14.15.1
/bin/sh: 1: source: not found
/bin/sh: 1: nvm: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

我该怎么办?尽管 sourcenvm 命令在 Yarn 之外运行良好。

【问题讨论】:

【参考方案1】:

也许您需要使用 \bin\bash 而不是 \bin\sh 来运行这些命令。

检查此答案以更改纱线的默认外壳。

Specify which shell Yarn uses for running scripts

【讨论】:

你能举个例子吗?我访问过你提供的链接,但还是不明白。 通过发出 yarn config set script-shell /bin/bash 来更改 yarn 运行命令的默认 shell。恢复问题yarn config delete script-shell。也许 /bin/sh 无权访问 source 命令。所以试试 /bin/bash

以上是关于Yarn 无法执行 source 命令的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu14.04 maven每次打开终端均需执行source /etc/profile,否则无法使用mvn命令

为啥source命令无法使用

Flink EMR Deployment 无法获取 Yarn 上下文,只能作为本地应用程序执行

yarn : 无法加载文件 C:UsersLAppDataRoaming pmyarn.ps1,因为在此系统上禁止运行脚本

Shell脚本无法使用cd命令

`yarn set version from sources` 导致“发现无法识别或遗留配置设置:changesetIgnorePatterns”