让我们像这样为git
设置一个post-receive钩子:
#!/bin/sh
git --work-tree=/path/to/www --git-dir=/path/to/git/test_CI.git checkout -f
export PATH=$PATH:/usr/bin #(<- this export does not help much)
yarn build
第一行运行良好,但yarn build
失败,因为钩子根本不知道纱线。(运行yarn
在我的主机终端工作完美,虽然。主机运行的是Ubuntu 18.04。顺便说一下。
which yarn
告诉我纱线的确切位置:
/home/…/.nvm/版本/节点/v12.18.3/bin/纱
我可以将它用于钩子。该路径包含当前yarn的版本号,一旦系统更新,这将导致其他问题。
Plus、nvm、node或next等将无法在next中找到。所以这不是一个聪明的解决方法。
如何使所有在终端中可以访问的东西(不仅仅是yarn
)可用于钩子?
export PATH=$PATH:/usr/bin #(<- this export does not help much)
这添加了/usr/bin
,它应该已经是$PATH开始的一部分,所以…这没什么用。
我会检查,如nvm-sh/nvm
问题355所示,如果你可以有~/.nvm/current/
符号链接(符号链接),为了使$PATH
保持不变,即使在npm更新时。