所以我试图在我们的构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') }