0
我有这个post-receive
脚本作为git的钩具有以下内容我使用npm -g安装的软件包它没有显示在bash脚本中,为什么?
#!/usr/bin/env bash
export NODE_ENV=production
git --work-tree=/home/myusername/app --git-dir=/home/myusername/git checkout -f
cd /home/myusername/app
npm prune
npm install --production
knex migrate:latest
导出时,当我的服务器SSH方式登录我全球的装机量knex,但它似乎并没有在bash shell环境中存在。我缺乏了解他们是如何不同的知识。我也注意到我的节点版本不同。如何导入用户的正常环境?
我不知道的是,-g将它安装在您正在使用的节点版本中。我在我的服务器上使用nvm,并在我使用的版本下安装。在我的bash脚本中找到nvm,然后在尝试运行knex之前指定我想要使用的节点版本解决了我的问题。 –
@MathieuBertin是的,这就是nvm的工作原理。你没有提到你在服务器上使用nvm。 – rsp
我对npm install -g如何工作缺乏正确的理解。感谢您的详细解答。 –