Puppet - npm - grunt安装本地错误

时间:2014-03-31 14:30:58

标签: gruntjs npm vagrant puppet

我尝试使用以下定义

在本地安装grunt
nodejs::npm { '/vagrant/var/www:grunt':
  ensure  => present,
  install_opt => '--save-dev --no-bin-links',
}

此定义是puppetlabs nodejs module的一部分,用于以下设置:

  1. OSX 10.9.2
  2. Vagrant 1.5.0
  3. Puppet 3.2.3
  4. Virtualbox 4.3.10
  5. Virtualbox guest 4.3.10
  6. 节点0.10.26
  7. Npm 1.4.6
  8. 当我运行vagrant provision时,我收到以下错误

    ERR! Error: EPERM, chown '/vagrant/var/www/node_modules/grunt/package.json'
    

    可在此处找到更详细的日志 - > pastebin

    我已经阅读了有关共享文件夹和符号链接的一些问题,并且可以通过设置npm install选项--no-bin-links(Source article)来修复它 我发现的另一篇文章解释了允许在共享vb文件夹中创建符号链接的解决方案。

    可悲的是,这些解决方案无法解决我的问题。

    有趣的是,当我进入框中并直接执行以下命令时

    npm install grunt --save-dev
    

    一切正常......

    更新

    1. 当目录更改为共享文件夹外的路径(在本例中为/ vagrant)时,命令成功执行
    2. 更改/设置用户无法解决问题。例如流浪汉或根
    3. 当我用sudo调用命令时,一切正常,但是做法不好......
    4. 只有在NFS中使用共享文件夹时才会出现这种情况。我切换到Rsync以在主机和来宾之间同步文件夹,但问题没有发生......
    5. 我希望有人可以帮我解决这个问题,因为我有点卡住;)

0 个答案:

没有答案