使用pm2与更改了npm的默认目录。

9 浏览
0 Comments

使用pm2与更改了npm的默认目录。

我正在使用TypeScript开发node.js应用程序,并希望使用pm2 deploy将应用程序部署到服务器上。

由于我在服务器上没有sudo访问权限,所以无法全局安装npm包。

根据npm文档的建议,我已将npm的默认目录更改为~/.npm-global,并且使用npm i -g typescript全局安装了TypeScript。

我的ecosystem.config.js中的部署部分如下:

deploy: {

production: {

'user': "user",

'host': "example.com",

'repo': "https://github.com/username/repo.git",

'path': "/home/projects/project/",

'post-deploy': "npm install && tsc && pm2 reload ecosystem.config.js --env production"

}

}

当我通过ssh在服务器上运行tsc时,它可以正常工作,但是当我运行pm2 deploy production update时,它显示:

bash: tsc: command not found
post-deploy hook failed

我也尝试了NVM,但它也无法正常工作。

0