在Heroku上安装devDependencies
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Heroku上安装devDependencies相关的知识,希望对你有一定的参考价值。
我希望Heroku在我推送之后构建我的应用程序,这样我每次做出更改时都不必推送构建文件夹。但是heroku只安装package.json和grunt(我的构建工具)中的依赖项,并且它的所有组件都在devDependencies中。我想把它们留在他们所属的地方。这里的解决方法是什么?
默认情况下,Heroku仅安装生产依赖项,忽略devDependencies
下的开发依赖项。
将npm生产变量设置为false
可以解决问题:
heroku config:set NPM_CONFIG_PRODUCTION=false
有关更多信息,请访问Heroku Node.js Support page。
Keeping NPM_CONFIG_PRODUCTION
true
,我用过Heroku's script hooks:
"scripts": {
...
"heroku-prebuild": "export NPM_CONFIG_PRODUCTION=false; export NODE_ENV=; NPM_CONFIG_PRODUCTION=false NODE_ENV=development npm install --only=dev --dev",
"heroku-postbuild": "export NPM_CONFIG_PRODUCTION=true; export NODE_ENV=production;",
...
},
(最后)为我工作。
scripts": {
...
"heroku-prebuild": "npm install --only=dev"
}
这对我来说已经足够了。感谢PixnBits关于heroku-prebuild的提示。还 - 我的问题是与巴贝尔。我最终将babel-preset-es2015和其他预设移动到依赖关系,否则babel抱怨预设。
更新:8/11/2017我一直遇到麻烦。事情似乎发生了变化(npm现在是5.3)。但我看到的是heroku-prebuild脚本正在运行,然后安装后的脚本正在运行(但我只是尝试安装-dev)。
所以我一直在做的就是运行:
heroku config:set NPM_CONFIG_PRODUCTION=false
然后就这样设置吧。我想要一个更好的解决方案。
要卸载依赖项,您需要执行这些操作
- 更新NPM_CONFIG_PRODUCTION heroku config:设置NPM_CONFIG_PRODUCTION = false
- 添加heroku-prebuild: 脚本“:{...”heroku-prebuild“:”npm install“}
你可以在你的构建脚本"build": "npm install --only=dev"
中使用它,以防你仍然想要执行更多操作,例如使用babel转换你的代码你可以做类似这样的事情"build": "npm install --only=dev && babel src --out-dir dist --copy-files"
以上是关于在Heroku上安装devDependencies的主要内容,如果未能解决你的问题,请参考以下文章
Heroku 部署在“修剪 devDependencies”步骤中继续失败
npm install 不会安装 devDependencies
UnhandledPromiseRejectionWarning:错误:找不到模块“tailwindcss”heroku 错误