术语“gulp”不被识别为cmdlet错误的名称

所以我试图在我们的构build服务器上运行gulp,但不断得到上述错误。 一切工作正常,如果我用我的用户帐户login到生成服务器,因为我在我的帐户全局安装gulp但是当Jenkins运行我的PowerShell脚本失败,错误:

术语“gulp”不被识别为cmdlet错误的名称

所以我试图在我的脚本中全局安装,以便安装Jenkins使用的任何用户。

然后我将npm -g ls添加到powershell脚本中,发现它是在系统用户下全局安装的:

C:\ Windows \ system32 \ config \ systemprofile \ AppData \ Roaming \ npm> gulp@3.9.0

由于我仍然收到错误,我采取了这个职位的build议,并添加了上面的目录pathvariables,但仍然是相同的错误。

任何人有什么我可以尝试下一个想法? 我难倒为什么它不工作。

确保包含gulp.exe的目录包含在$env:PATH环境变量中。 您可以使用[Environment]::SetEnvironmentVariable()方法更新机器范围的PATH变量。

假设gulp可执行文件的路径是C:\ Program Files \ gulp \ bin \ gulp.exe

 # Directory containing exe $GulpFolderPath = 'C:\program files\gulp\bin' # Retrieve user-agnostic PATH environment variable value $CurrentEnvPath = [Environment]::GetEnvironmentVariable('PATH','Machine') # Check if PATH already contains gulp if($CurrentEnvPath -split ';' -notcontains $GulpFolderPath) { # if not, update it $NewEnvPath = $CurrentEnvPath,$GulpFolderPath -join ';' [Environment]::SetEnvironmentVariable('PATH',$NewEnvPath,'Machine') }