所以我试图在我们的构建服务器上运行gulp,但不断收到上面的错误。如果我使用我的用户帐户登录构建服务器,一切正常,因为我在我的帐户下全局安装了gulp但是当Jenkins运行我的PowerShell脚本时,它失败并出现错误:
术语' gulp'不被识别为cmdlet错误的名称
所以我尝试在我的脚本中全局安装,以便安装Jenkins使用的任何用户。
然后我将npm -g ls
添加到powershell脚本中,发现它是全局安装在系统用户下的:
C:\ Windows \ system32 \ config \ systemprofile \ AppData \ Roaming \ npm> gulp@3.9.0
由于我仍然收到错误,我接受了this post的建议,并在上面的目录中添加了一个路径变量,但仍然是同样的错误。
任何人都有关于我接下来可以尝试的想法吗?我难以理解为什么它不起作用。
答案 0 :(得分:0)
确保包含gulp.exe
的目录包含在$env:PATH
环境变量中。您可以使用[Environment]::SetEnvironmentVariable()
方法更新 machine -wide 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')
}
答案 1 :(得分:0)
最后是真正的GULP解决方案
过去两天没有成功找到解决方案后,一位同事通过运行以下命令为我提供了帮助,第一个在本地和全局安装gulp,第二个我将gulp的成功归功于最终运行,安装了cli全球:
npm i -g gulp gulp
npm i @angular/cli -g
然后,我运行此命令以全局和本地更新npm软件包。 gulp终于奏效了:
npm install -g npm
现在运行gulp -v
可以成功:
CLI version: 2.2.0
Local version: 4.0.2
NB:我的操作系统是Windows 10 64位体系结构的最新更新,于2019年7月17日发布。没有代理设置,没有网络限制!
如果在Internet之前确实有代理,请通过从命令行应用程序运行命令npm config edit
配置找到的.npmrc文件:
proxy=x.x.x.x:PORT/
https-proxy=x.x.x.x:PORT/
prefix=C:\npm\node_modules
cache=C:\npm\cache