我正在制作一个网站,我使用命令
npm start
将其放在本地主机上。然而,当我在 Visual Studio Code Editor 上创建两个工作区后,它突然停止工作。它只会给我一个错误。
错误如下所示:
npm 错误!路径 C:\Users udre irst-blog\package.json
npm 错误!代码 ENOENT
npm 错误!错误号-4058
npm 错误!系统调用打开
npm 错误! enoent ENOENT: 没有这样的文件或目录,打开 'C:\Users udre irst-blog\package.json'
npm 错误! enoent 这与 npm 找不到文件有关。
npm 错误!显着
npm 错误!此运行的完整日志可以在以下位置找到:
npm 错误! C:\Users udre\AppData\Roaming pm-cache_logs�8-05-29T07_42_13_915Z-debug.log
我不知道这意味着什么。谁能帮我?谢谢!
编辑: 我的 package.json 文件包含以下内容:
{
"name": "pug-starter",
"version": "1.0.0",
"description": "Simple pug (jade) starter [framework] enabling faster delivery of HTML & CSS projects to a private server and/or automatic deployment of GitHub pages.",
"main": "index.js",
"scripts": {
"dev": "gulp dev",
"start": "gulp dev",
"prod": "gulp build --production",
"deploy": "gulp build --production && gulp deploy && gulp clean:ghpages",
"test": "echo \"Error: no test specified\" && exit 1"
},
"//": "CUSTOM CONFIGURATION",
"config": {
"directory": {
"development": "tmp",
"production": "build",
"ghpages": ".publish",
"source": "src",
"data": "_data",
"component": "_component",
"layout": "_layout",
"asset": "_asset",
"image": "image",
"font": "font",
"templateCollection": [
"article",
"product"
]
},
"render": {
"sourceFileChange": false,
"url": {
"//": "this is recommended to avoid Linux/Windows capitalization issue",
"htmlExtensionOn": false,
"toLowercase": true
}
},
"entry": {
"cssExternal": "style**.{scss,sass}",
"cssInline": "inline**.{scss,sass}",
"css": {
"inline": false,
"external": true
}
}
},
"repository": {
"type": "git",
"url": "git+https://github.com/marianzburlea/pug-starter.git"
},
"keywords": [
"pug",
"starter",
"jade",
"starter"
],
"author": "Marian Zburlea",
"license": "MIT",
"bugs": {
"url": "https://github.com/marianzburlea/pug-starter/issues"
},
"homepage": "https://github.com/marianzburlea/pug-starter#readme",
"devDependencies": {
"autoprefixer": "^6.7.5",
"babel-core": "^6.26.0",
"babel-eslint": "^8.1.2",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-preset-env": "^1.6.1",
"browser-sync": "^2.18.8",
"eslint": "^3.16.1",
"foldero": "^0.1.1",
"gulp": "github:gulpjs/gulp#4.0",
"gulp-cached": "^1.1.1",
"gulp-changed": "^2.0.0",
"gulp-changed-in-place": "^2.2.0",
"gulp-debug": "^3.1.0",
"gulp-gh-pages": "^0.5.4",
"gulp-if": "^2.0.2",
"gulp-imagemin": "^3.1.1",
"gulp-inline-source": "^3.0.0",
"gulp-load-plugins": "^1.5.0",
"gulp-plumber": "^1.1.0",
"gulp-postcss": "^6.3.0",
"gulp-pug": "^3.2.0",
"gulp-rename": "^1.2.2",
"gulp-sass": "^3.1.0",
"gulp-sourcemaps": "^2.4.1",
"imagemin-jpegoptim": "^5.0.0",
"imagemin-pngquant": "^5.0.0",
"imagemin-svgo": "^5.2.0",
"jstransformer-markdown-it": "^2.0.0",
"merge-stream": "^1.0.1",
"minimist": "^1.2.0"
}
}
当一切都失败时,完全删除/重新安装node.js。当您在所有节点 env 命令上出现全面错误时,这意味着节点已损坏或以某种方式出现错误。
使用能够保护环境的流程管理器。
很少有选择
永远(https://www.npmjs.com/package/forever)
这样,您就可以使用
forever start <mainfilename>
在本地主机上启动网站
PM2(https://www.npmjs.com/package/pm2)
这样,您就可以使用
pm2 start <mainfilename>
在本地主机上启动网站
使用流程管理器,您可以从环境规范中抽象出来,直到您需要更具体的东西为止。
ENOENT 表示您运行
npm start
命令的目录不包含 package.json 文件。
首先,确保您位于正确的目录中并且它具有 package.json 文件。
另外,如果没有package.json文件,您可以使用
npm init
命令初始化它。
如果情况并非如此,请随时发表评论来纠正我。
如果您的计算机上有多个版本的nodejs并且正在运行节点版本管理器(nvm),请务必在终端中正确设置您的版本。
例如。 nvm使用v9.5.0
对于我来说,我遇到了同样的错误。我的情况可能很少见,但我在这里添加解决方案。我在 Visual Studio 中使用 React(使用 TypeScript)和 ASP.NET Core 模板创建了我的应用程序。由于该组合使用了Vite,因此“scripts”中缺少“start”。所以,我更新了我的 package.json 如下所示:
“开始”:“vite”
完整代码
"scripts": {
"start": "vite",
"dev": "vite",
"build": "tsc && vite build",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
}