node js表达无法解析节点模块/合并描述符
我有一个简单的node.js Express应用程序。
当我运行npm run serve
时,出现错误提示。
在我的node_modules
文件夹中,我可以看到merge-descriptors
文件夹,但是当我尝试启动express server
时,似乎是在抱怨找不到组件。
我的路径正确设置了node_modules/.bin
。
internal/modules/cjs/loader.js:583
throw err;
^
回答如下:错误:找不到模块'merge-descriptors'在Function.Module._resolveFilename(内部/模块/cjs/loader.js:581:15)在Function.Module._load(内部/模块/cjs/loader.js:507:25)在Module.require(internal / modules / cjs / loader.js:637:17)在要求时(内部/模块/cjs/helpers.js:22:18)在对象。 (/tmp/site/node_modules/express/lib/express.js:16:13)在Module._compile(内部/模块/cjs/loader.js:689:30)在Object.Module._extensions..js(内部/模块/cjs/loader.js:700:10)在Module.load(internal / modules / cjs / loader.js:599:32)在tryModuleLoad(内部/模块/cjs/loader.js:538:12)在Function.Module._load(internal / modules / cjs / loader.js:530:3)
嗨,我也遇到了同样的问题,我试图在其中部署我的应用程序,但它始终无法在ibm cloud ci / cd上失败。我的问题是总是找不到某些模块。找不到的模块列表(安装前一个模块时,每次出现一次)如下:
- 深度
- 合并描述符
- 最终处理者
- 调试
- encodeurl
- escape-html
- esm等等...
这继续进行,但是我没有继续安装更多丢失的npm软件包。
{
"name": "MERN_1",
"version": "1.1.0",
"description": "MERN App",
"private": true,
"engines": {
"node": "^8.11.1"
},
"scripts": {
"start": "node server/server.js",
"debug": "nf --procfile Procfile-debug --port 3000 start",
"debug:legacy": "node --debug=0.0.0.0:5858 server/server.js",
"test": "nyc mocha --exit",
"dev": "nf --procfile Procfile-dev --port 3000 start",
"build": "webpack --progress --config webpack.prod.js",
"postinstall": "npm run build",
"lint": "eslint src",
"client-reload": "webpack-dev-server --host 0.0.0.0 --history-api-fallback --progress --inline --config webpack.dev-standalone.js",
"server-reload": "nodemon server/server.js"
},
"nodemonConfig": {
"env": {
"NODE_HEAPDUMP_OPTIONS": "nosignal"
}
},
"dependencies": {
"@material-ui/lab": "^4.0.0-alpha.23",
"@sendgrid/mail": "^6.4.0",
"bcrypt": "^3.0.6",
"body-parser": "^1.19.0",
"clone-deep": "^4.0.1",
"config": "^3.2.2",
"connect-mongo": "^1.3.2",
"dotenv": "^8.0.0",
"eslint": "^6.1.0",
"express": "^4.17.1",
"express-session": "^1.16.2",
"jsonwebtoken": "^8.5.1",
"log4js": "^3.0.5",
"moment": "^2.24.0",
"mongoose": "^4.13.19",
"request": "^2.88.0"
},
"devDependencies": {
"@babel/core": "^7.5.5",
"@babel/helper-create-class-features-plugin": "^7.5.5",
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@babel/preset-env": "^7.5.5",
"@babel/preset-react": "^7.0.0",
"@material-ui/core": "^4.3.2",
"@material-ui/icons": "^4.1.0",
"array-move": "^2.1.0",
"axios": "^0.18.1",
"babel-loader": "^8.0.0",
"chai": "^4.0.0",
"copy-webpack-plugin": "^4.5.1",
"css-loader": "^3.2.0",
"foreman": "^3.0.1",
"history": "^4.9.0",
"html-webpack-plugin": "^3.2.0",
"mocha": "^5.2.0",
"node-sass": "^4.8.3",
"nodemon": "^1.12.1",
"nyc": "^14.1.1",
"react": "^16.9.0",
"react-dom": "^16.9.0",
"react-redux": "^6.0.1",
"react-router-dom": "^5.0.0",
"react-sortable-hoc": "^1.9.1",
"react-virtualized": "^9.21.1",
"redux": "^4.0.4",
"redux-thunk": "^2.3.0",
"sass-loader": "^7.2.0",
"style-loader": "^0.21.0",
"webpack": "^4.39.2",
"webpack-cli": "^3.3.6",
"webpack-dev-server": "^3.8.0",
"webpack-merge": "^4.1.1"
}
}
[当我尝试使用控制台(如git push)通过ibm工具链推送完全相同的项目时,它说无法部署该应用程序,并且在检查日志时发现模块未找到错误...
[当我尝试使用ibmcloud登录进行推送时,将--cf和cf push作为目标,则该应用程序被成功推送。我不确定错误是从哪里来的。
请参见manifest.yml文件以下:
applications:
- buildpacks: ['sdk-for-nodejs']
command: npm prune --production && NODE_ENV=production npm start
domain: null
env:
NPM_CONFIG_PRODUCTION: false
NODE_MODULES_CACHE: false
host: null
instances: 1
memory: 256M
name: mern_1
timeout: 360
domain: null
host: null
我还尝试安装具有相同项目配置的新工具链,但同样失败。
非常感谢有人可以提示我解决此问题?
谢谢