ubuntu Yarn:在展开器中找不到

lymnna71  于 2022-10-27  发布在  Yarn
关注(0)|答案(1)|浏览(270)

我安装了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以使yarndeployer任务中工作?

dw1jzc5e

dw1jzc5e1#

由于Yarn安装在/root/.nvm/versions/node/v19.0.0/bin/yarn中,而不是/usr/bin/usr/local/bin中,所以不能通过外壳找不到。
只需创建一个软链接就可以解决这个问题:

ln -s /root/.nvm/versions/node/v19.0.0/bin/yarn /usr/local/bin/yarn
chomd +x /usr/local/bin/yarn

# also for the node

ln -s /root/.nvm/versions/node/v19.0.0/bin/node /usr/local/bin/node
chomd +x /usr/local/bin/node

相关问题