node.js - 启动 npm 时出错:web 应用程序的根目录中不存在 node_modules
问题描述
所以我刚刚开始学习如何创建一个 node.js Web 应用程序,并且我已经安装了 node 和 npm 但由于某种原因我无法在运行npm start
后在我的网站目录中运行npm init
。
检查了与此相关的其他问题,到目前为止,没有一个答案对我有用。
请参阅下面的错误消息。
> portfolio@1.0.0 start /Users/macintosh/Documents/Portfolio
> node server.js
internal/modules/cjs/loader.js:968
throw err;
^
Error: Cannot find module 'express'
Require stack:
- /Users/macintosh/Documents/Portfolio/server.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
at Function.Module._load (internal/modules/cjs/loader.js:841:27)
at Module.require (internal/modules/cjs/loader.js:1025:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (/Users/macintosh/Documents/Portfolio/server.js:2:15)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/Users/macintosh/Documents/Portfolio/server.js' ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! portfolio@1.0.0 start: `node server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the portfolio@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/macintosh/.npm/_logs/2020-07-31T09_30_20_392Z-debug.log
这是下面的日志文件。
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start' ]
2 info using npm@6.14.6
3 info using node@v12.18.3
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle portfolio@1.0.0~prestart: portfolio@1.0.0
6 info lifecycle portfolio@1.0.0~start: portfolio@1.0.0
7 verbose lifecycle portfolio@1.0.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle portfolio@1.0.0~start: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/macintosh/Documents/Portfolio/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
9 verbose lifecycle portfolio@1.0.0~start: CWD: /Users/macintosh/Documents/Portfolio
10 silly lifecycle portfolio@1.0.0~start: Args: [ '-c', 'node server.js' ]
11 silly lifecycle portfolio@1.0.0~start: Returned: code: 1 signal: null
12 info lifecycle portfolio@1.0.0~start: Failed to exec start script
13 verbose stack Error: portfolio@1.0.0 start: node server.js
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack at EventEmitter.emit (events.js:315:20)
13 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:315:20)
13 verbose stack at maybeClose (internal/child_process.js:1021:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid portfolio@1.0.0
15 verbose cwd /Users/macintosh/Documents/Portfolio
16 verbose Darwin 19.6.0
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
18 verbose node v12.18.3
19 verbose npm v6.14.6
20 error code ELIFECYCLE
21 error errno 1
22 error portfolio@1.0.0 start: node server.js
22 error Exit status 1
23 error Failed at the portfolio@1.0.0 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
解决方案
Error: Cannot find module 'express'
清楚地说你已经在你的server.js中导入了express npm 包,但它没有安装在你的项目文件夹中。当您在项目中安装express或任何包时,您将在package.json中将其视为依赖项并安装在 node_modules/packagefolder 中。所以请确保你已经安装了express包。
推荐阅读
- mysql - 通过 SSL 与 Laravel 的 MySQL 连接
- swift - 为什么我在 Swift Playgrounds 中使用类会出错
- unix - 如何在 UNIX 中删除顽固文件
- javascript - SAPUI5:在片段中的 ViewSettingsDialog 中添加新的“ViewSettingsItem”
- mysql - SQL 按日期过滤器获取记录
- reactjs - 指导 jest 使用 mock
- python - 在 Robot framework 数据驱动方法中生成测试用例
- javascript - Freewall.js 仅在调整大小后加载
- javascript - ESLint 误解 Flow 类属性类型定义
- android - Android Studio 显示插件和 androidAnnotations.jar 的持续错误