我试图运行yarn global upgrade generator-jhipster
,但即使它似乎正在运行并安装最新版本,当我运行yo jhipster
它仍然是旧版本并会提示我运行yarn global upgrade generator-jhipster
我在OSX(Mac)上运行
我刚刚开始使用纱线。我以前使用NPM但卸载了NPM。
$HOME/.config/yarn/global/node_modules/.bin
在我的道路上,所以这不是问题。
答案 0 :(得分:1)
当我从NPM切换到Yarn时,在卸载NPM之前,我没有删除NPM安装的软件包。因此,在通过Yarn添加全局包时,符号链接仍然与NPM安装相关联。这导致我在全球范围内通过Yarn升级/添加软件包时遇到问题,因为它没有指向由Yarn管理的新版本。
(我已经通过Homebrew安装了Node和NPM,这就是我最终重新安装NPM的方法:)
brew uninstall --force yarn
brew uninstall --force node
brew install node
然后我删除了所有NPM的全局模块,因为我现在只想使用Yarn。 (确保在执行此操作之前确实要删除所有这些内容!您可能需要运行npm list -g --depth=0
以查看NPM为您管理的内容,因此您可以使用Yarn重新安装)在Windows上不起作用,对于Windows版本,请参阅Ollie Bennett's Answer
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
以下是它的工作原理:Taken from Kai Sternad's Answer
npm ls -gp --depth=0
列出了所有全局顶级模块(请参阅ls的cli文档)awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'
打印所有实际上不是npm的模块(不以/ npm结尾)xargs npm -g rm
删除所有来自上一个管道的全局模块然后,重新安装纱线。 brew install yarn
请确保您的路径中有$HOME/.config/yarn/global/node_modules/.bin
。 (见Yarn Path Setup
在Mac或Linux上:
export PATH="$PATH:`yarn global bin`:$HOME/.config/yarn/global/node_modules/.bin"
然后安装了yo和generator-jhipster(我已经通过Yarn删除了这些)(参见Installing JHipster)
yarn global add yo
yarn global add generator-jhipster
添加它最终全局更新到最新版本!
答案 1 :(得分:1)
如果您在按照接受的答案中的步骤操作后仍然在Mac OS Sierra上遇到问题,请尝试使用以下命令:
namespace xxx.Controllers.Api
{
[Route("api/partners")]
public class PartnersController : Controller
{
private IMeblatRepository _repository;
private ILogger<PartnersController> _logger;
private IHostingEnvironment _environment;
public PartnersController(IMeblatRepository repository, ILogger<PartnersController> logger, IHostingEnvironment environment)
{
_repository = repository;
_logger = logger;
_environment = environment;
}
[HttpGet("")]
public IActionResult Get()
{
try {
var results = _repository.GetAllPartners();
return Ok(Mapper.Map<IEnumerable<PartnersViewModel>>(results));
}
catch (Exception ex)
{
_logger.LogError($"Failed to get All Partners: {ex}");
return BadRequest("Bad Request");
}
}
[HttpPost("")]
public async Task<IActionResult> Post([FromBody]Data data)
{
if (ModelState.IsValid)
{
var uploads = Path.Combine(_environment.WebRootPath, "uploads");
if (data.file.Length > 0)
{
using (var fileStream = new FileStream(Path.Combine(uploads, data.file.FileName), FileMode.Create))
{
await data.file.CopyToAsync(fileStream);
}
}
//Save to the Database
var newPartner = Mapper.Map<Partners>(data.newPartner);
_repository.AddPartner(newPartner);
if(await _repository.SaveChangesAsync())
{
return Created($"api/partners/{data.newPartner.Name}", Mapper.Map<PartnersViewModel>(newPartner));
}
else
{
return BadRequest("Failed to save to the database");
}
}
return BadRequest(ModelState);
}
[HttpDelete("{name}")]
public async Task<IActionResult> Delete([FromRoute] string name)
{
if (ModelState.IsValid)
{
var partnerToDelete = _repository.GetPartnerByName(name);
_repository.RemovePartner(partnerToDelete);
if (await _repository.SaveChangesAsync())
{
return Ok($"api/partners");
}
else
{
return BadRequest("Failed to remove");
}
}
return BadRequest(ModelState);
}
}
直接来自Yarn's alternative install methods page。
我在macOS Sierra v10.12.5上通过Homebrew安装了Node和Yarn。 Node是版本8.5.0。 NPM是5.3.0版本。
纱线是在v0.24.6。升级到v1.0.2。