Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Jenkins构建步骤在';npm安装<;无论如何>';_Macos_Node.js_Jenkins_Npm - Fatal编程技术网

Macos Jenkins构建步骤在';npm安装<;无论如何>';

Macos Jenkins构建步骤在';npm安装<;无论如何>';,macos,node.js,jenkins,npm,Macos,Node.js,Jenkins,Npm,詹金斯新手:我正在詹金斯建立我们的内部版本。设置构建步骤以运行nodejs脚本(使用Sencha Touch 2将构建的应用程序转换为本机iOS应用程序的脚本)。nodejs脚本需要一个扳手库 Jenkins用户似乎在不同的上下文中运行。它无法看到我的节点安装或npm安装。作为构建步骤的一部分,我必须将路径导出到node和npm。现在我已经这样做了,构建将看到node和npm命令 但是,我让它在构建步骤中调用的命令之一是“npm install扳手”,它给我一个权限错误,并告诉我以管理员身份运行

詹金斯新手:我正在詹金斯建立我们的内部版本。设置构建步骤以运行nodejs脚本(使用Sencha Touch 2将构建的应用程序转换为本机iOS应用程序的脚本)。nodejs脚本需要一个扳手库

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

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


所以我要么需要能够给Jenkins用户管理员权限,要么需要npm提前为用户安装软件包。有人知道如何做这两种选择中的任何一种吗

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

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


您可以通过重新运行Jenkins安装程序来解决您的问题,但这次请单击“自定义”按钮。选中写有
启动时启动为“jenkins”
的框。取消选中显示“启动时启动为”守护进程“”

的框,在生成配置中添加执行命令并导出路径:

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

有关更多信息

自定义按钮在哪里?安装程序在其向导中没有选项。