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安装时使用