首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在节点应用程序中安装npm软件包时,无法安装“弱”?

在节点应用程序中安装npm软件包时,无法安装“弱”?
EN

Stack Overflow用户
提问于 2019-03-06 19:37:09
回答 1查看 448关注 0票数 0

我已经设置了一个Aws Ec2实例来承载我的Node.js应用程序。在从git克隆项目之后,当我使用sudo npm i安装所有软件包时,所以在完成包安装之前,会出现如下错误

代码语言:javascript
复制
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir 
'/home/ubuntu/directory-server/node_modules/weak/build'
gyp ERR! System Linux 4.15.0-1021-aws
gyp ERR! command "/usr/bin/node" 
"/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/ubuntu/directory-server/node_modules/weak
gyp ERR! node -v v11.10.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

这是我的package.json

代码语言:javascript
复制
{
"name": "faunder",
"version": "0.0.1",
"description": "Faunder",
"main": "index.js",
"scripts": {
"clean": "rimraf -rf build && mkdir build",
"build": "babel src -d build && npm run build:copy",
"build:copy": "cp src/conf/config.ini build/conf/config.ini && cp -r 
src/static build/ && cp src/api/handlers/logo-orange.png 
build/api/handlers/logo-orange.png",
"build:deploy": "npm run clean && npm run build && pm2 start 
build/index.js",
"start": "nodemon src/index.js --exec babel-node --presets env"
 },
"author": "shayan.ahmed@utf-labs.com",
"license": "ISC",
"dependencies": {
"babel-preset-env": "^1.6.1",
"cookie-parser": "^1.4.3",
"cors": "^2.8.5",
"count-files": "^2.6.2",
"csvjson": "^5.0.0",
"csvtojson": "^2.0.8",
"dynamic-html-pdf": "0.0.4",
"express": "^4.16.2",
"fs-extra": "^7.0.1",
"htmltopdf": "0.0.8",
"image-to-base64": "^2.0.1",
"ini": "^1.3.5",
"json2csv": "^4.1.6",
"jsonwebtoken": "^8.3.0",
"lodash": "^4.17.10",
"md5": "^2.2.1",
"moment": "^2.21.0",
"mongodb": "^3.0.0-rc0",
"mqtt": "^2.14.0",
"multer": "^1.4.1",
"mysql2": "^1.5.1",
"node-async-loop": "^1.2.2",
"node-dir": "^0.1.17",
"node-schedule": "^1.3.0",
"nodemailer": "^4.6.8",
"nodemon": "^1.18.1",
"rimraf": "^2.6.3",
"save-dev": "^2.0.0",
"sequelize": "^4.27.0"
 },
 "devDependencies" : {
  "babel-cli" : "^6.26.0"
 }
}

当我运行这个命令sudo npm i时,这个命令完成了包的安装,但是在此期间失败了。

代码语言:javascript
复制
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir 
'/home/ubuntu/directory-server/node_modules/weak/build'
gyp ERR! System Linux 4.15.0-1021-aws
gyp ERR! command "/usr/bin/node" 
"/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/ubuntu/directory-server/node_modules/weak
gyp ERR! node -v v11.10.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

然后它继续完成其他容器的安装。但是,由于在此运行节点应用程序时出现了故障,所以它会引发如下错误

代码语言:javascript
复制
 Error: Cannot find module 'weak'
 0|index  |     at Function.Module._resolveFilename 
 (internal/modules/cjs/loader.js:613:15)
 0|index  |     at Function.Module._load 
 (internal/modules/cjs/loader.js:539:25)
 0|index  |     at Module.require (internal/modules/cjs/loader.js:667:17)
 0|index  |     at require (internal/modules/cjs/helpers.js:20:18)
 0|index  |     at new D (/home/ubuntu/directory- 
 server/node_modules/dnode/index.js:28:20)
 0|index  |     at module.exports (/home/ubuntu/directory- 
 server/node_modules/dnode/index.js:8:12)
 0|index  |     at /home/ubuntu/directory- 
 server/node_modules/phantom/phantom.js:174:13
 0|index  |     at Server.handler (/home/ubuntu/directory- 
 server/node_modules/shoe/index.js:22:9)
 0|index  |     at Server.emit (events.js:197:13)
 0|index  |     at App.emit (/home/ubuntu/directory- 
 server/node_modules/sockjs/lib/sockjs.js:182:27)
 0|index  |     at Session.emit_open (/home/ubuntu/directory- 
 server/node_modules/sockjs/lib/transport.js:107:23)
 0|index  |     at processTicksAndRejections 
 (internal/process/next_tick.js:74:9) code: 'MODULE_NOT_FOUND' }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-07 17:42:44

此问题是由于EC2中的文件夹权限造成的。以下是您可以尝试的解决方案

首先将chmod 777权限授予从git克隆的文件夹,然后尝试sudo npm install

如果上面的问题仍未解决,请将节点版本更新为8.x

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55030955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档