【问题标题】:Cant Install KeystoneJS on AWS EC2 - Errors Out无法在 AWS EC2 上安装 KeystoneJS - 错误输出
【发布时间】:2015-11-17 08:32:05
【问题描述】:

我有一个成功安装了 node 和 mongo 的 EC2 实例(我都测试过)。我现在正在尝试安装 KeystoneJS,但它会抛出错误。不太确定我在哪里出错了。在本地一切正常,我假设这与我的 EC2 的配置方式有关。

npm install -g generator-keystone

结果

npm ERR! tar.unpack untar error /home/ec2-user/.npm/generator-keystone/0.3.7/package.tgz
npm ERR! Linux 3.14.35-28.38.amzn1.x86_64
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "generator-keystone"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! path /usr/local/lib/node_modules/generator-keystone
npm ERR! code EACCES
npm ERR! errno -13

npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/generator-keystone'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES, mkdir '/usr/local/lib/node_modules/generator-keystone']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/generator-keystone',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/generator-keystone',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:35:25',
npm ERR!      '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:47:53',
npm ERR!      'FSReqWrap.oncomplete (fs.js:95:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/ec2-user/npm-debug.log

sudo npm install -g generator-keystone

结果

sudo: npm: command not found

【问题讨论】:

    标签: node.js mongodb amazon-web-services amazon-ec2 keystonejs


    【解决方案1】:

    如果在 Linux 中使用 sudo 时命令不可用,这通常是因为该命令尚未添加到“sudo 路径”。您可以在此处查看解决该问题的另一个问题:

    https://askubuntu.com/questions/611528/why-cant-sudo-find-a-command-after-i-added-it-to-path

    我假设您为 EC2 实例使用了 Ubuntu 或 Amazon Linux 映像(您应该在以后的问题中指定,因为这样的错误可以根据操作系统以不同的方式解决 - 特别是当涉及到 PATH 变量时可能是这里的问题)。

    我给出的上述答案是如何在 Ubuntu 上执行此操作,而我不知道该便捷命令 (sudo visudo) 在亚马逊映像中是否可用。

    另外,作为旁注,我强烈建议您在编写任何依赖于 Node.js 的内容时研究如何使用 NVM 作为一般实践。它允许您在一台机器上安装多个版本的节点,并相应地调整您的路径以允许您在每个终端 (bash) 实例中使用的版本之间切换。

    (它还使 IMO 的部署更容易)。

    https://github.com/creationix/nvm

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-23
      • 2015-04-20
      • 2014-05-10
      • 2018-12-12
      • 1970-01-01
      • 2014-04-17
      相关资源
      最近更新 更多