在 nvm 更改节点版本后,Powershell 无法识别 npm
Powershell doesn't recognize npm after nvm change version of node
我的 powershell 脚本有问题。我想构建一个基于节点 10.17.0 的项目,并将结果复制到另一个基于节点 8.11.4 和 运行 项目的项目中。
cd $PathToWebLibs
Write-Host "..........Switching to node v10.17.0.........." -ForegroundColor Magenta
nvm use 10.17.0
Write-Host "..........Building WebLibs.........." -ForegroundColor Magenta
npm run build_lib
Write-Host "..........Copying files from ($PathToWebLibs\dist\rsp\core-ui) to ($PathToSFP\node_modules\@rsp) .........." -ForegroundColor Magenta
cp -Recurse -Force ($PathToWebLibs + "\dist\rsp\core-ui") ($PathToSFP + "\node_modules\@rsp")
cd $PathToSFP
Write-Host "..........Switching to node v8.11.4.........." -ForegroundColor Magenta
nvm use 8.11.4
Write-Host "..........Starting SFP.........." -ForegroundColor Magenta
npm run start
问题是当 nvm 更改节点 npm 的版本时无法识别。当我手动完成时,只需一一输入命令即可。
我可以补充一下,系统环境路径设置正确。我查过了。
nvm
设计为 运行 由您的 shell 处理,仅 POSIX 支持-compatible shells s such as bash
, and not for PowerShell:
nvm
works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and windows WSL.
在类 Unix 平台和可能的 WSL 上,考虑 Node.js 版本管理器 n
作为替代方案,它不依赖于修改当前 shell 的环境。
- n-install 允许直接从 GitHub 安装
n
;例如:
curl -L https://git.io/n-install | bash
- 但是,这种特殊的安装方法(包括 Node.js 本身的安装)目前需要在 PowerShell 中进行额外配置(在您的 PowerShell
$PROFILE
文件中,或者通过Windows 上的注册表):$HOME/n/bin
必须添加到 $env:Path
,并且 $env:PREFIX
必须设置为 $HOME/n
(相应地调整 WSL 的路径,如果你运行从 WSL 外部重新构建 PowerShell)。
我在 nvm use XXX 后使用 powershell Start-Sleep 方法解决了这个问题。它有帮助,目前运行良好。
我的 powershell 脚本有问题。我想构建一个基于节点 10.17.0 的项目,并将结果复制到另一个基于节点 8.11.4 和 运行 项目的项目中。
cd $PathToWebLibs
Write-Host "..........Switching to node v10.17.0.........." -ForegroundColor Magenta
nvm use 10.17.0
Write-Host "..........Building WebLibs.........." -ForegroundColor Magenta
npm run build_lib
Write-Host "..........Copying files from ($PathToWebLibs\dist\rsp\core-ui) to ($PathToSFP\node_modules\@rsp) .........." -ForegroundColor Magenta
cp -Recurse -Force ($PathToWebLibs + "\dist\rsp\core-ui") ($PathToSFP + "\node_modules\@rsp")
cd $PathToSFP
Write-Host "..........Switching to node v8.11.4.........." -ForegroundColor Magenta
nvm use 8.11.4
Write-Host "..........Starting SFP.........." -ForegroundColor Magenta
npm run start
问题是当 nvm 更改节点 npm 的版本时无法识别。当我手动完成时,只需一一输入命令即可。
我可以补充一下,系统环境路径设置正确。我查过了。
nvm
设计为 运行 由您的 shell 处理,仅 POSIX 支持-compatible shells s such as bash
, and not for PowerShell:
nvm
works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and windows WSL.
在类 Unix 平台和可能的 WSL 上,考虑 Node.js 版本管理器 n
作为替代方案,它不依赖于修改当前 shell 的环境。
- n-install 允许直接从 GitHub 安装
n
;例如:
curl -L https://git.io/n-install | bash
- 但是,这种特殊的安装方法(包括 Node.js 本身的安装)目前需要在 PowerShell 中进行额外配置(在您的 PowerShell
$PROFILE
文件中,或者通过Windows 上的注册表):$HOME/n/bin
必须添加到$env:Path
,并且$env:PREFIX
必须设置为$HOME/n
(相应地调整 WSL 的路径,如果你运行从 WSL 外部重新构建 PowerShell)。
我在 nvm use XXX 后使用 powershell Start-Sleep 方法解决了这个问题。它有帮助,目前运行良好。