Jenkins构建步骤在'npm install <whatever>'</whatever>上失败

时间:2012-07-19 15:47:36

标签: macos node.js jenkins npm

Jenkins的新手:我正在Jenkins建立我们的构建。设置构建步骤以运行nodejs脚本(使用Sencha Touch 2将构建的应用程序带入本机iOS应用程序的脚本)。 nodejs脚本需要一个扳手库。

Jenkins用户似乎在不同的上下文中运行。它无法看到我的节点安装或npm安装。作为构建步骤的一部分,我必须将路径导出到node和npm。现在我已经完成了,构建会看到node和npm命令。

但是,我在构建步骤中调用的其中一个命令是'npm install wrench',它给了我一个权限错误,并告诉我以管理员身份运行。所以我可以让它发挥作用。

所以我需要能够为Jenkins用户提供管理员权限,或者我需要提前npm为用户安装软件包。有谁知道如何做这些选项中的任何一个。

2 个答案:

答案 0 :(得分:5)

我猜你在Mac上运行Jenkins,你可能已经使用Jenkins Mac安装程序安装了它。我将进一步猜测你是否使用默认设置安装它,这意味着Jenkins设置为作为启动守护程序运行并在名为守护程序的帐户下运行。

守护程序用户很特别。它非常安全。守护程序用户的主目录由root拥有,守护程序在那里没有写权限,因此无法在那里安装任何东西。

您可以通过重新运行Jenkins安装程序来解决您的问题,但这次单击自定义按钮。选中显示Start at boot as "jenkins"的复选框。取消选中Start at boot as "daemon"

答案 1 :(得分:0)

在构建配置中添加带有导出路径的执行命令:

export PATH=/sbin:/usr/sbin:/bin:/usr/local/bin
npm install

了解更多information see this link