NPM 安装只创建一个 package-lock.json?

Posted

技术标签:

【中文标题】NPM 安装只创建一个 package-lock.json?【英文标题】:NPM install only creating a package-lock.json? 【发布时间】:2020-08-10 05:50:15 【问题描述】:

我正在使用运行 Windows 10 的 Microsoft Surface 3。我使用 git bash for windows 进行文件系统管理。我正在运行 npm 版本 6.14.4 和节点版本 12.16.2

我目前正在为一些学校工作开发一个应用程序,并希望运行一个 lite-server 而不是 vscode 的上线扩展。

我的理解是 npm install 应该在应用程序之外运行作为最佳实践,但是一旦它运行,您可以在 vscode 中返回终端并使用 npm run start或 npm run dev 启动服务器。我从一个在线课程中了解到这个两步过程,我从他的 Github 中克隆了讲师的工作。换句话说,他可能已经做了一些我无意中遗漏的初步步骤。

我访问了 npm 文档并花了大约一个小时来熟悉这项技术。找到了一组不错的简单命令来移动:


$ npm install lite-server --save-dev 

(我从 git bash 在项目的根文件夹中运行)

$ yarn add lite-server --dev # or yarn 

...并在项目的 package.json 文件中添加一个“脚本”条目:

在 package.json 中...

  "scripts": 
    "dev": "lite-server"
  ,

使用上面的脚本条目,您可以通过以下方式启动 lite-server:

$ npm run dev

问题是,我在安装 NPM 时遇到很多错误,没有生成 package.json 文件(只有一个 package-lock.json),尝试 npm run dev 会引发多个错误。

从 NPM 安装中,我主要看到以下问题:

我收到过时的警告、chokidar、fsevents、urix 等。

npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.

npm WARN deprecated fsevents@1.2.12: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.

npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated

我总是收到这个 package-lock.json 通知,不确定它是什么:

npm notice created a lockfile as package-lock.json. You should commit this file.

明显加载“跳过可选依赖项”警告:

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules\chokidar\node_modules\fsevents):

我收到“没有这样的文件或目录”警告:

npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\smansfield\desktop\bootcamp_code_responses\class_content_1\activity_4\package.json'

我收到以下警告:

npm WARN activity_4 No description
npm WARN activity_4 No repository field.
npm WARN activity_4 No README data
npm WARN activity_4 No license field.

从 npm run dev 我收到以下错误:

npm 错误!代码ENOENT

npm 错误!系统调用打开

npm 错误!路径 C:\Users\smansfield\Desktop\bootcamp_code_responses\class_content_1\activity_4\package.json

npm 错误!错误号-4058

npm 错误! enoent ENOENT:没有这样的文件或目录,打开 'C:\Users\smansfield\Desktop\bootcamp_code_responses\class_content_1\activity_4\package.json'

npm 错误! enoent 这与 npm 找不到文件有关。

npm 错误!恩恩特

npm 错误!可以在以下位置找到此运行的完整日志:

npm 错误! C:\Users\smansfield\AppData\Roaming\npm-cache_logs\2020-04-26T17_59_00_317Z-debug.log


我已经搜索了各种博客以了解有关这些项目的任何见解...似乎没有人发布有关这些确切项目的信息: 为什么 NPM 安装会响应这么多错误、弃用等。

为什么我只在安装时获得 package-lock.json?

为什么我在尝试启动 lite-server 时总是收到这些错误,尤其是这些 ENOENT 代码和路径错误?

感谢您对此提供的任何见解。我肯定会付清的。 山姆

【问题讨论】:

【参考方案1】:

尝试先运行 npm init。它将使用 npm 初始化您的项目。

【讨论】:

以上是关于NPM 安装只创建一个 package-lock.json?的主要内容,如果未能解决你的问题,请参考以下文章

package.json与package-lock.json的区别

npm install没有创建一个新的package-lock.json

[转]npm中package-lock.json的作用:npm install安装时使用

[转]npm中package-lock.json的作用:npm install安装时使用

npm notice 创建了一个锁文件作为 package-lock.json。你应该提交这个文件

安装npm install vue的时候会生成package-lock.json怎么解决