3

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

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

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

因此,我要么需要能够授予 Jenkins 用户管理员权限,要么需要提前为用户 npm-install 软件包。有谁知道如何做这些选项中的任何一个。

4

2 回答 2

5

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

守护程序用户是特殊的。这是非常安全的。daemon 用户的主目录归 root 所有,daemon 在那里没有写权限,所以它不能在那里安装任何东西。

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

于 2012-07-20T21:06:08.427 回答
0

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

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

有关更多信息,请参阅此链接

于 2021-03-07T18:00:04.187 回答