npm install 安装,但 node_modules 为空

npm install installs, but node_modules is empty

我在 digital ocean 运行ning Ubuntu 16.04 上有一个虚拟机。我安装了节点和 git。我正在拉取我的存储库,并尝试安装所有依赖项。

I 运行 npm install 在我的项目文件夹中。一切看起来都安装正确。然后我尝试通过 运行ning node server.js 启动我的应用程序,我得到了各种 module not found errors

当我查看 node_modules 时,目录是空的。

知道会发生什么吗?

输出:

root@codetrunk-dev:~/codetrunk# npm install --save
npm WARN deprecated swig@1.4.2: This package is no longer maintained
npm WARN deprecated lodash.isarray@4.0.0: This package is deprecated. Use Array.isArray.
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated graceful-fs@2.0.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
Killed          ...] / extract:alt: verb gentlyRm don't care about contents; nuking /root/codetrunk/node_modules/.staging/alt-983484ae/node
root@codetrunk-dev:~/codetrunk# ls
app  bower.json  config.js  gulpfile.js  models  node_modules  package.json  public  server.js  views
root@codetrunk-dev:~/codetrunk# cd node_modules/
root@codetrunk-dev:~/codetrunk/node_modules# ls
root@codetrunk-dev:~/codetrunk/node_modules# ls
root@codetrunk-dev:~/codetrunk/node_modules#

可能是您的 package.json 文件不存在或没有 dependenciesdevDependencies

您必须将 Droplet 的内存从 512mb 增加到 1gb,至少为了安装 npm 模块。然后,如果需要,您可以返回到 512mb。这为我修好了。

另一个不需要增加 Droplet 内存的选项(或者,如果您不在具有该功能的服务器上)是单独或以小组的形式手动安装依赖项。在我的例子中,express 是我安装的最大的包,所以我用 npm install express 手动安装它,然后 运行 npm install 得到其余的。