厨师安装节点、npm 和包以及 运行 它们
chef installing node, npm and packages and running them
我正在通过 'nodejs' 食谱安装 node 和 npm,并且我正在通过
包括食谱
include_recipe "nodejs::npm"
我已经安装了我想要的软件包:
%w( dateformat aws2js optparse cloudwatch2graphite).each do |npm_package|
nodejs_npm npm_package
end
厨师说安装成功。
当我登录框并键入 npm list
时,无论我是用户 root
还是用户 vagrant
.[=18,它都只是 returns 空=]
为什么包裹列表是空的?这是用户上下文问题吗?
其次,我如何运行 一个全局安装的包,例如cloudwatch2graphite
。
当它作为全局包安装时,我就这样做吗
node cw2graphite.js
从任何地方得到它 运行?
奖励积分:
出于好奇,哪个用户在 vagrant 和 box 上都使用 chef 运行?
四处寻找后,我意识到我做错了什么。
使用 npm 对全局包执行任何操作都必须使用 -g
事后看来很明显,但我不是一个节点人,所以这是一个容易犯的错误。
因此,要列出全局包,它是:
npm -g list
然而,运行 你应该做的脚本:
npm -g run <package-name> <package-script>
当我尝试用它启动 cloudwatch2graphite 时没有任何反应。
就是说,我可以通过以下方式让它工作:
node `npm -g root`/<package-name>/<script-name>.js
我正在通过 'nodejs' 食谱安装 node 和 npm,并且我正在通过
包括食谱include_recipe "nodejs::npm"
我已经安装了我想要的软件包:
%w( dateformat aws2js optparse cloudwatch2graphite).each do |npm_package|
nodejs_npm npm_package
end
厨师说安装成功。
当我登录框并键入 npm list
时,无论我是用户 root
还是用户 vagrant
.[=18,它都只是 returns 空=]
为什么包裹列表是空的?这是用户上下文问题吗?
其次,我如何运行 一个全局安装的包,例如cloudwatch2graphite
。
当它作为全局包安装时,我就这样做吗
node cw2graphite.js
从任何地方得到它 运行?
奖励积分:
出于好奇,哪个用户在 vagrant 和 box 上都使用 chef 运行?
四处寻找后,我意识到我做错了什么。
使用 npm 对全局包执行任何操作都必须使用 -g
事后看来很明显,但我不是一个节点人,所以这是一个容易犯的错误。
因此,要列出全局包,它是:
npm -g list
然而,运行 你应该做的脚本:
npm -g run <package-name> <package-script>
当我尝试用它启动 cloudwatch2graphite 时没有任何反应。
就是说,我可以通过以下方式让它工作:
node `npm -g root`/<package-name>/<script-name>.js