【问题标题】:Node.js application on private linux hosting私有 Linux 主机上的 Node.js 应用程序
【发布时间】:2018-11-18 04:22:08
【问题描述】:

我有一个专用的 Linux 主机,上面运行着 Red Hat OS。

我关注this 链接并在其上安装了 Node.js (10.4.0) 和 npm。我还安装了 git 并克隆了我的 git 存储库。我面临三个问题

问题 1

如果我在根文件夹上执行 node -v,它会给我 v0.11.9,如果我在根文件夹上执行 npm -v,它会给我 1.3.15 p>

但是,如果我这样做 ~/nodejs/bin/node -v 它会给出正确的版本 v10.4.0 如果我这样做 ~/nodejs/bin/npm -v 它给了我一个错误:

/home/realedu7/nodejs/lib/node_modules/npm/bin/npm-cli.js:79
      let notifier = require('update-notifier')({pkg})
          ^^^^^^^^
SyntaxError: Unexpected identifier
    at exports.runInThisContext (vm.js:69:16)
    at Module._compile (module.js:432:25)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:349:32)
    at Function.Module._load (module.js:305:12)
    at Function.Module.runMain (module.js:490:10)
    at startup (node.js:123:16)
    at node.js:1027:3

下面是显示问题的终端图像:

update-notifier 有什么问题?

问题 2

当我尝试通过进入 realedu-app 项目文件夹并执行操作来运行我的应用程序时

node app.js

它给了我以下错误:

module.js:333
    throw err;
          ^
Error: Cannot find module 'express'
    at Function.Module._resolveFilename (module.js:331:15)
    at Function.Module._load (module.js:273:25)
    at Module.require (module.js:357:17)
    at require (module.js:373:17)
    at Object.<anonymous> (/home/realedu7/realedu-app/app.js:1:77)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:349:32)
    at Function.Module._load (module.js:305:12)
    at Function.Module.runMain (module.js:490:10)

显然我的节点没有安装 express 模块。 我该如何解决这个问题?

【问题讨论】:

    标签: node.js linux npm hosting


    【解决方案1】:

    我想推荐你使用official documentation来安装和设置node和npm

    问题 1: 较旧的 nmp 库和较新的 npm 库之间存在冲突。您的新 npm 仍然指向旧版本的节点(不支持 let),您需要设置新 nodejs 的路径来解决此问题

    问题2:你需要安装代码中用到的所有模块,如果你已经在package.json中添加了那么只需要运行npm install否则你必须指定模块名称,如@987654325 @

    【讨论】:

    • 那么我是否要从那里删除所有节点和 npm 文件夹并使用给定的文档重新启动?
    • 好的,所以我安装了 nvm,然后安装了节点。现在,当我执行 node -v 和 npm -v 时,我得到了 v8.11.2 和 5.6.0。所以我猜我的全局节点和 npm 是最新的。我应该删除我创建的那个 nodejs 文件夹吗?另外我从哪里运行 npm install express 命令?在节点项目内?
    • 是的,您应该删除 nodejs 文件夹,因为没有使用该文件夹并在运行 node app.js 的侧面项目中运行 npm install
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    相关资源
    最近更新 更多