我安装了NVM的Yarn。
root@server:~# which yarn
/root/.nvm/versions/node/v19.0.0/bin/yarn
当我登录机器并在终端使用yarn
时,它可以工作。
root@server:~# yarn -v
1.22.19
但是一旦我尝试在deployer
任务中运行yarn
,
task('deploy:yarn', function () {
run('cd {{release_path}} && yarn install', ['timeout' => 600]);
});
命令“cd/var/www/my-web-project/释放/1&&Yarn安装”失败。
退出代码:127(未找到命令)
主机名:Example.com
BASH:行1:Yarn:找不到命令
它将抛出错误:yarn: command not found
我尝试通过deployer
任务在外壳bash中运行yarn
task('deploy:upload-front-end-shell', function () {
upload('build-front-end.sh', '{{release_path}}/build-front-end.sh');
});
Build-Front-end.sh
# !/bin/bash
yarn && yarn build
或
alias yarn=$(which yarn)
yarn && yarn build
或
yarn_path=$(which yarn)
$yarn_path && $yarn_path build
所有这些外壳都不能通过deployer
任务工作,但是当我登录机器并手动运行外壳时,它们就能工作了。
我如何配置我的ubuntu20.04以使yarn
在deployer
任务中工作?
1条答案
按热度按时间dw1jzc5e1#
由于Yarn安装在
/root/.nvm/versions/node/v19.0.0/bin/yarn
中,而不是/usr/bin
或/usr/local/bin
中,所以不能通过外壳找不到。只需创建一个软链接就可以解决这个问题: