0

我正在尝试安装 keystone.js,但不断收到缺少模块的错误,有人可以帮忙吗?我已经更新了我的 package.json 以包含 cloud-env 依赖项,但仍然没有乐趣。可用于将 KS 部署到 Openshift 的文档很少。

Error: Cannot find module 'keystone'
 at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/var/lib/openshift/5501b0c04382ecfefe0000a2/app-root/runtime/repo/web.js:1:78)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
DEBUG: Program node web.js exited with code 8
DEBUG: Starting child process with 'node web.js'

包.json:

{
  "name": "node",
  "version": "0.0.0",
 "private": true,
 "dependencies": {
   "cloud-env": "^0.1.0",
   "keystone": "latest",
   "underscore": "latest"
  },
  "devDependencies": {
    "grunt": "~0.4.4",
    "grunt-express-server": "~0.4.17",
    "grunt-contrib-jshint": "~0.7.1",
    "grunt-contrib-compass": "^1.0.1",
    "grunt-contrib-csslint": "^0.3.1",
"grunt-contrib-cssmin": "^0.11.0",
"grunt-contrib-watch": "^0.6.1",
"grunt-cssstats": "^1.0.1",
"grunt-stats": "^0.1.0",
"jshint-stylish": "~0.1.3",
"load-grunt-tasks": "~0.4.0",
"load-grunt-configs": "^0.4.1",
"grunt-node-inspector": "~0.1.5",
"time-grunt": "~0.3.1",
"grunt-concurrent": "~0.5.0",
"grunt-nodemon": "~0.2.1",
"open": "0.0.5"
   },
   "engines": {
     "node": ">=0.10.22",
   "npm": ">=1.3.14"
   },
  "scripts": {
    "start": "node web.js"
  },
    "main": "web.js"
  }
4

2 回答 2

2

这是一个迟到的答案,但今天我遇到了同样的问题,以下对我有用:

rhc ssh <app>
cd $OPENSHIFT_REPO_DIR
npm install

将应用程序推送到 openshift 时可能出现问题。这样您就可以手动修复软件包。

于 2015-12-28T23:55:22.663 回答
0

我遇到了同样的问题。根据我的研究,关闭 ssh 连接的问题似乎是其他人在使用各种语言的小型 openshift 齿轮进行构建时遇到的问题(我读到一些观点,如果您使用的是中等齿轮或以上,它确实可以运行安装) . 但是,我无法使用@barney765 的解决方案来完成:每次运行它时,我都会遇到类似的“连接关闭”问题。 npm install

由于升级到中型齿轮并不是我真正准备做的事情,我的解决方法是将我的生产 node_modules 提交给 git,因此npm install一旦部署到 openshift 就不需要了

虽然提交您的 node_modules确实有其缺点- openshift文档似乎表明这是一种可行的方法(阅读“node_modules”标题)

于 2016-12-19T21:32:27.977 回答