【发布时间】:2019-03-11 13:44:56
【问题描述】:
我从 github 克隆了一个包含 package-lock.json(但没有 package.json)的存储库。然后在 git bash 终端中,我转到目录并运行 npm install 但我只收到一条消息说没有 package.json 然后 package-lock.json 中的所有内容都被删除,所以它基本上是空的,除了项目名称和版本。
我认为在目录中运行带有 package-lock.json 的 npm install 足以重新创建 node_modules,但我是否严重误解了它的工作原理?顺便说一句,我有节点 8.12.0 和 npm 6.4.1,并且在 Windows 10 上运行。另外,我认为 package-lock.json 是在 unix 系统上创建的,所以在使用 package-lock.json 时可能会出现问题不同的操作系统?
我已经尝试运行 npm init 只是为了获取 package.json 文件,然后运行 npm install 但这仍然没有让我得到 node_modules 文件夹。
【问题讨论】:
-
你可以试试这个包:npmjs.com/package/auto-install - 它不完全是它的用途,但如果你生成一个空的 package.json 文件然后运行它,它会将依赖项添加到它,所以你可以运行 npm install。
-
感谢确实有效。
auto-install确实将依赖项添加到一个空的 package.json 中,甚至无需运行npm install就可以下载这些包。这似乎是一种奇怪的解决方法。我仍然不明白为什么npm install不能查看 package-lock.json 并从中下载依赖项。 -
哦,太好了。您介意我将其添加为答案然后让您接受吗?
-
好的,继续。从技术上讲,您的解决方案并没有真正回答原始问题,因为它看起来像
auto-install甚至不需要 package-lock.json,但它确实解决了我最初的问题,即如何在 node_modules 中获取正确的包,所以我可以接受它.
标签: npm npm-install package-lock.json