厨师安装节点,npm和包并运行它们

时间:2015-02-16 17:40:19

标签: node.js npm chef

我通过' nodejs'安装节点和npm。食谱和我通过

包括食谱
include_recipe "nodejs::npm"

我已经安装了我想要的软件包:

%w( dateformat aws2js optparse cloudwatch2graphite).each do |npm_package|
    nodejs_npm npm_package
end

并且厨师说它已经成功安装了它们。

当我登录该框并输入npm list时,无论我是用户root还是用户vagrant,它都会返回空白。

为什么包裹清单是空的?这是用户上下文问题吗?

其次,如何运行全局安装的软件包,例如cloudwatch2graphite

当它作为全局包安装时,我是否只做

node cw2graphite.js

从哪里开始运行?

奖励积分:

出于好奇,厨师在流浪汉和盒子上运行的是什么用户?

1 个答案:

答案 0 :(得分:0)

在四处寻找之后,我意识到我做错了什么。

使用npm对你必须使用-g的全局包做任何事情,事后看来很明显,但我不是一个节点人,所以这很容易犯错误。

所以要列出全局包:

npm -g list

然而,在运行您应该执行的脚本时:

npm -g run <package-name> <package-script>

当我尝试使用它来启动cloudwatch2graphite时没有发生任何事情。

那就是说,我能够通过这样做来实现它:

node `npm -g root`/<package-name>/<script-name>.js