从 Heroku 上的子目录运行 npm

Posted

技术标签:

【中文标题】从 Heroku 上的子目录运行 npm【英文标题】:Run npm from subdirectories on Heroku 【发布时间】:2014-01-10 14:04:43 【问题描述】:

我有一个包含 2 个子项目的项目:

首先是 API 二是客户端

并且这两个项目都有自己的依赖关系映射在各自的packages.json 文件中,这些文件被放置在每个子目录中。

那么问题是如何从 heroku 上的子目录运行npm install

我尝试在主 npm 文件中添加这样的内容

"scripts": 
    "postinstall": "cd my_subdir; npm install"

但是不行,显示can't cd to my_subdir

【问题讨论】:

为什么不为每个项目创建一个单独的 Heroku 应用? 客户要求将其部署到单个子域 我不确定我是否理解这意味着什么。两者都在同一个域中,而在 Heroku 中,您只有一个 web 进程,所以……它们中的哪一个?你能描述一下你的想要的部署拓扑(什么在哪里运行,监听什么端口,什么协议,和谁通信?) 【参考方案1】:

利用 npm 的 --prefix 选项:

"scripts": 
  "postinstall": "npm install --prefix ./my_subdir"

【讨论】:

以上是关于从 Heroku 上的子目录运行 npm的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 上的 webpack 和 django:collectstatic 之前的捆绑

Heroku Dyno 上的 Django 静态文件

Heroku 上的 NPM 私有 git 模块

停止 Heroku 运行 npm start + 运行啥来代替?

将文件存储在 heroku Rails 上的目录 tmp 中

Mac 上的 Node.js Heroku 部署 - sh: 1: nodemon: not found / npm ERR! `nodemon fileName.js`/npm 错误!在...启动脚