【问题标题】:npm does not install the package.json dependenciesnpm 不安装 package.json 依赖项
【发布时间】:2017-10-04 10:27:14
【问题描述】:

我一直在与一个奇怪的错误作斗争。我正在尝试使用简单的npm i 在我的服务器上安装项目依赖项,但它不会创建任何node_modules 文件夹。

另外,我已经尝试了所有可能的解决方案,例如 npm init,以便创建一个新的 package.json 文件,或者我删除了 package-lock.json 文件。

但是,package.json 文件在我的本地环境中运行顺畅。

这是我的package.json 文件:

{
  "name": "expressmvc",
  "version": "1.0.0",
  "description": "Webpack and Express backend boilerplate Edit",
  "main": "app.babel.js",
  "dependencies": {
    "axios": "^0.16.2",
    "babel-runtime": "^6.23.0",
    "bcrypt": "^1.0.3",
    "bluebird": "^3.5.0",
    "body-parser": "~1.16.0",
    "connect-mongo": "^1.3.2",
    "cookie-parser": "~1.4.3",
    "cron": "^1.3.0",
    "debug": "~2.6.0",
    "express": "~4.14.1",
    "express-session": "^1.15.5",
    "gmail-api-sync": "^1.2.8",
    "gmail-sender-oauth": "^1.0.5",
    "googleapis": "^21.3.0",
    "moment": "^2.18.1",
    "mongoose": "^4.9.2",
    "morgan": "~1.7.0",
    "node-cron": "^1.2.1",
    "nodemon": "^1.11.0",
    "passport": "^0.4.0",
    "passport-google-oauth20": "^1.0.0",
    "pug": "~2.0.0-beta10",
    "serve-favicon": "~2.3.2"
  },
  "devDependencies": {
    "babel-cli": "^6.24.0",
    "babel-core": "^6.26.0",
    "babel-eslint": "^8.0.0",
    "babel-loader": "^7.1.2",
    "babel-polyfill": "^6.26.0",
    "babel-preset-env": "^1.6.0",
    "babel-preset-es2015": "^6.24.0",
    "babel-preset-es2016": "^6.22.0",
    "babel-preset-stage-2": "^6.24.1",
    "babel-register": "^6.26.0",
    "mocha": "^3.5.0",
    "prettier-eslint": "^8.1.0",
    "webpack": "^3.5.5"
  },
  "scripts": {
    "test": "mocha 'app/**/*.test.js' --compilers js:babel-core/register --recursive",
    "start": "NODE_ENV=production node ./build/backend.js",
    "run-dev": "DEBUG=express:* nodemon  ./app.js --exec babel-node",
    "build": "rm -f -r build && NODE_ENV=production webpack --config ./webpack.config.js --progress --profile --colors"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/PedramMarandi/express-js-boilerplate.git"
  },
  "keywords": [
    "expressjs",
    "boilerplate",
    "es6",
    "javascript",
    "MVC"
  ],
  "author": "Pedram Marandi",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/PedramMarandi/express-js-boilerplate/issues"
  },
  "homepage": "https://github.com/PedramMarandi/express-js-boilerplate#readme"
}

NPM 版本 3.10.10

节点版本6.10.3

【问题讨论】:

  • 可能是权限问题?您是否检查过文件的权限和所有者?你得到什么错误?
  • @Black-Hole G'day 伙计,没有任何错误。甚至我也有 npm 安装进度条。我试图通过 sudo 来做,但没有发生任何合乎逻辑的事情。
  • @Black-Hole 但是,当我执行npm i --save express 时,它可以工作。我认为问题可能出在我的package.json 文件上。但正如我所说,它适用于我的本地环境。
  • 这是脚本触发,还是直接ssh到那个盒子里?
  • 使用 npm i --verbose 尝试捕获任何错误或警告。如有必要,通过管道将其归档。还使用yarn而不是npm进行测试,它也失败了,并向您显示了相同的无提示错误。或者你可能选择使用纱线。

标签: javascript node.js npm


【解决方案1】:

这个问题主要是由于Linux机器上的权限问题。您可以在使用此命令更改部署文件夹的写入权限后尝试

sudo chmod -R 777 /home/nodejsAppFloder

【讨论】:

  • 它没用,伙计。我以前试过。顺便说一句,谢谢你的回答
  • 即使npm安装进度条显示一切正常,也没有任何错误。
猜你喜欢
  • 2016-08-02
  • 2015-07-25
  • 1970-01-01
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
  • 2016-03-14
  • 2013-01-06
  • 2017-04-18
相关资源
最近更新 更多