2

npm i 出现 npm WARN saveError ENOENT: no such file or directory 怎么解决?

 2 years ago
source link: https://xushanxiang.com/2022/03/npm-i-npm-warn-saveerror-enoent.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

npm i 出现 npm WARN saveError ENOENT: no such file or directory 怎么解决?

作者: xusx 分类: JavaScript 发布时间: 2022-03-27 09:38

例如:npm 安装 koa,虽然安装成功,但出现一些WARN:

E:\xushanxiang\nodeproj\koaproj>npm i koa
npm WARN saveError ENOENT: no such file or directory, open 'E:\xushanxiang\nodeproj\koaproj\package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open 'E:\xushanxiang\nodeproj\koaproj\package.json'
npm WARN koaproj No description
npm WARN koaproj No repository field.
npm WARN koaproj No README data
npm WARN koaproj No license field.

+ [email protected]
added 42 packages from 25 contributors in 6.135s

4 packages are looking for funding
  run `npm fund` for details

根据错误提示,是系统没有 package.json 这个文件导致。这个文件的作用就是管理你本地安装的 npm 包,一个 package.json 文件可以做如下事情:

package.json 是 node 项目用来记录作者,项目入口,项目描述,项目依赖,启动脚本,项目版本号,项目ip代理,开源许可等其他的项目相关信息,通过 package.json 可以进行npm包的发布与项目依赖的安装。

npm install 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。

与之还会存在 package-lock.json 文件,会具体项目所需依赖的版本等其他信息。

所以,我们 创建一个 node.js 项目 ,可以先输入 npm init,按照提示填写包信息,选择默认或不填写直接回车,效果等同 npm init -y。执行完命令后可以看到用户路径下多了一个 package.json 文件。如下:

{
  "name": "koaproj",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "koa": "^2.13.4"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

数据含义:
name:项目名称(必须)
version:项目版本(必须)
description:项目描述
author:作者
private:是否私有
config:用于向环境变量输出值。
scripts:指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。
dependencies:项目运行所依赖的模块,运行模式-S
devDependencies:项目开发所需要的模块,开发模式-D
engines:指明了该项目所需要的node.js版本
browserslist:说明这个项目的浏览器兼容情况。也能根据提供的目标浏览器的环境来,智能添加css前缀,js的polyfill垫片,来兼容旧版本浏览器,而不是一股脑的添加。避免不必要的兼容代码,以提高代码的编译质量。

package.json文件可以使用npm init命令自动生成,也可以手工编写,要注意的是在 package.json 中不能有注释,否则会报错。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK