Node.js 为什么openshift上的Ghost node_模块比本地模块大得多?

Node.js 为什么openshift上的Ghost node_模块比本地模块大得多?,node.js,npm,openshift,node-modules,ghost-blog,Node.js,Npm,Openshift,Node Modules,Ghost Blog,我正在使用Openshift部署我的Ghost博客。我的整个代码包大约是80m(包括生产节点_模块,大约是24m),mysql文件大约是50m。Openshift向我显示一条警告消息,我使用了总1GB的97%。这是怎么发生的?如果它是正常的,我愿意升级它,但我想知道我是否做错了什么 我使用SSH检查文件夹大小,du-m--max depth=1得到根文件夹的文件夹大小结果如下: 1 ./.node-gyp 1 ./nodejs du: cannot read direct

我正在使用Openshift部署我的Ghost博客。我的整个代码包大约是80m(包括生产节点_模块,大约是24m),mysql文件大约是50m。Openshift向我显示一条警告消息,我使用了总1GB的97%。这是怎么发生的?如果它是正常的,我愿意升级它,但我想知道我是否做错了什么

我使用SSH检查文件夹大小,
du-m--max depth=1
得到根文件夹的文件夹大小结果如下:

1       ./.node-gyp
1       ./nodejs
du: cannot read directory `./.ssh': Permission denied
1       ./.ssh
du: cannot read directory `./.sandbox': Permission denied
1       ./.sandbox
52      ./mysql
1       ./.gem
1       ./.openshift_ssh
1       ./.auth
1       ./phpmyadmin
58      ./git
334     ./app-root
du: cannot read directory `./.tmp': Permission denied
1       ./.tmp
1       ./.env
325     ./app-deployments
768     .
应用程序部署是否保存一个以前版本的应用程序根目录?我找到了一个文件夹,文件夹名为提交日期

然后,对于应用程序根文件夹:

4       ./logs
5       ./data
325     ./runtime
334     .
对于运行时文件夹:

140     ./dependencies
1       ./build-dependencies
186     ./repo
325     .
对于回购文件夹:

1       ./.openshift
7       ./core
5       ./content
175     ./node_modules
186     .
对于dependencies文件夹,dependencies文件夹的用途是什么

npm文件夹是npm的全局文件夹吗?当我的项目中有node_模块时,为什么它仍然将其安装到glocal?我能换一下吗

然后在node_模块中,我看到了在package.json的
devDependencies
中定义的
bower
模块

我将openshift的env var设置为production,为什么devdependences中的所有内容都还在那里

节点_ENV=生产 NPM_配置_生产=真

如何删除这些额外的模块并节省一些磁盘空间

我的整个代码包大约是80m(包括生产节点_模块, 大约是24m),mysql文件大约是50m。Openshift向我展示了一个 警告消息,我已使用总1GB的97%。这是怎么回事 发生了什么

这似乎是一个显而易见的答案,但请坚持下去。该消息表示您的存储配额已满97%。虽然您的代码可能只是其中的一小部分,但OpenShift Gear上还有其他一些东西需要使用存储。例如,应用程序部署(见下文)有时会占用大量存储空间。您的$OPENSHIFT\u DATA\u DIR(~/app root/DATA)中的内容也是如此

应用程序部署是否保存一个以前版本的应用程序根目录

是此功能允许您轻松回滚到应用程序的早期版本。缺点是它会消耗大量的默认存储空间。您可以使用禁用此功能

rhc应用程序配置-保持部署0

当我的项目中有node_模块时,为什么它仍将其安装到 全球的?我能换一下吗

此时无法全局安装节点模块,因此它们必须在您的设备中本地安装

我将openshift的env var设置为production,为什么所有内容都是production devDependencies还在吗

这与容器的工作方式有关。您所做的一切都存储在您的安全容器中。设置生产环境变量只会更改节点启动的方式

如何删除这些额外的模块并节省一些磁盘空间


您可以尝试使用npm删除设备上的一些应用程序,但我建议您省去麻烦,或者摆脱上面提到的应用程序部署,或者只是升级

我收到错误:
要保留的部署数无效:0。Keep部署必须大于0且不大于1000。
1       ./nodejs
140     ./.npm
140     .