在這臺linux服務器上,我有一個名爲「myuser」的用戶。 對於這個用戶,當回顯路徑時,我得到這個:Jenkins找不到npm
/home/myuser/bin:/home/myuser/.local/bin:/home/myuser/.nvm/versions/node/v6.11.1/bin:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games:/ usr/local/games:/ snap/bin
有一個節點的應用程序,手動部署當我運行:
npm i
和它的作品。
現在,我安裝了詹金斯。詹金斯項目我試圖安裝位於:
/var/lib/jenkins/workspace/test
構建正在執行shell腳本。在該窗口中我進入:
#!/bin/bash
npm i
當詹金斯建設,我得到這個:
[test] $ /bin/bash /tmp/jenkins756533162549346948.sh
/tmp/jenkins756533162549346948.sh: line 3: npm: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE
如果我只寫
echo $PATH
在詹金斯
外殼,我得到這個:
[test] $ /bin/sh -xe /tmp/jenkins5067097808572366507.sh
+ echo /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
[test] $ /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/6.11.1/bin/node /tmp/jenkins8733250738704177758.js
Finished: SUCCESS
正如你所看到的,我安裝了nodejs插件。 無論如何,當使用jenkins shell時,找不到npm和偶節點。 我如何讓Jenkins知道npm/node在哪裏? 我試圖在shell首先寫:
$ PATH = /家/ myuser的/ .nvm /版本/節點/ v6.11.1/bin中
不過還是運氣。
Jenkins推出新殼... – Malice
所以你可能想要更新jenkins腳本本身的PATh .. – Malice
是的,我更新了詹金斯殼本身的路徑,但仍然沒有運氣。 – oderfla