我刚刚更新到NPM 5.0.1,我立即在Angular 4.1.3项目中遇到了编译错误。删除并完全重新安装我的node_modules (所有包最新)后,在运行ng serve
时出现奇怪的红色错误:
Invalid Version: https://registry.npmjs.org/@angular/core/-/core-4.1.3.tgz
TypeError: Invalid Version: https://registry.npmjs.org/@angular/core/-/core-4.1.3.tgz
at new SemVer (/Users/bracicot/dev/recruitler/node_modules/semver/semver.js:293:11)
at new Version (/Users/bracicot/dev/recruitler/node_modules/@angular/cli/upgrade/version.js:23:36)
at Function.assertAngularVersionIs2_3_1OrHigher (/Users/bracicot/dev/recruitler/node_modules/@angular/cli/upgrade/version.js:80:23)
at Class.run (/Users/bracicot/dev/recruitler/node_modules/@angular/cli/commands/serve.js:102:27)
at Class.Command.validateAndRun (/Users/bracicot/dev/recruitler/node_modules/@angular/cli/ember-cli/lib/models/command.js:128:15)
at /Users/bracicot/dev/recruitler/node_modules/@angular/cli/ember-cli/lib/cli/cli.js:92:22
at tryCatch (/Users/bracicot/dev/recruitler/node_modules/rsvp/dist/rsvp.js:539:12)
at invokeCallback (/Users/bracicot/dev/recruitler/node_modules/rsvp/dist/rsvp.js:554:13)
at /Users/bracicot/dev/recruitler/node_modules/rsvp/dist/rsvp.js:629:16
at flush (/Users/bracicot/dev/recruitler/node_modules/rsvp/dist/rsvp.js:2414:5)
at _combinedTickCallback (internal/process/next_tick.js:95:7)
at process._tickCallback (internal/process/next_tick.js:161:9)
对于导致NPM退缩的原因,我感到非常难过。似乎没有任何关于它的在线信息。
更新: NPM添加了一个package-lock.json文件。无效版本来自那里。
更新2:
重新安装CLI后我得到了
Cannot find module 'webpack/lib/node/NodeTemplatePlugin'
可能是package.json
和package-lock.json
不同步吗?
更新3: 特别感谢@ Dylanb124 是的NPM5肯定是错误的,第一个问题是使用不正确的值创建的包锁文件...这个问题有很多,我已经解决了。我的开发合作伙伴能够让NPM 5与一个新的NG项目合作。因此,我们将工作版本与我们的回购匹配,直到它正确构建。主要的冲突是支持node和mongo(hammer.js)的软件包以及我能够永久删除的其他软件包。 (一些清理无论如何)最终我们能够让它运行起来。我建议尽可能长时间等待升级到NPM 5x
答案 0 :(得分:16)
在npm 5.0.2上对我有用的东西
删除node_modules
rm -f package-lock.json && npm install
答案 1 :(得分:4)
此问题可能与程序包版本控制完全无关。尝试以下方法:
npm install
并注意任何初始错误或
警告,特别是涉及问题的警告
下载/安装包。npm install --save <package-name>
手动安装软件包
并使用npm rebuild <package-name>
重建它。此时,您可以尝试构建Angular包,希望能够成功构建。
我一直在处理相同的构建问题。但是,我能够在一台机器上构建Angular项目,而不是另一台机器。两台机器都使用相同版本的NPM(5.0.1)和节点(7.10.0)。
似乎关于错误版本的错误消息根本不与根本原因相关。您可以尝试清除 node_modules 文件夹,然后执行npm install
。
就我而言,我看到了与 node-sass npm包相关的大量警告和错误。似乎包试图从无效的Github URL下载,这意味着它从未被下载,并导致许多构建错误。
我的特定解决方案涉及手动安装尝试下载的软件包,然后手动重建该软件包(请参阅node-sass issues 1601)。
我仍然试图找到真正的根本原因,因为没有理由认为这应该是一台机器上的问题,而不是另一台机器上的问题。我将根据任何调查结果更新此帖子。我认为这可能是一个安装问题,因为我在两台机器之间安装了不同的NPM 5.
答案 2 :(得分:1)
运行此命令。这有帮助
N=30 # number of maximum simulations per K
K=seq(10,30,1) # maximum number of animals per group
ES=seq(1,2,0.1) # mean difference compared to control
x=array(data=NA,
dim=c(N,length(K),length(ES)),
dimnames =list(paste("Sim",1:N, sep=""),
paste("Total Number of Animals=",min(K):max(K), sep=""),
ES)) # 3-dimensional matrix in which to store the values
for (q in ES){
for (j in K){
for (i in 1:N){
controle<-rnorm(j,popmeansum$V3, 1.490918)
new<-rnorm(j,popmeansum$V3-q, 1.490918)
fit<-t.test(controle, new, alternative ="greater")
x[i,j,q]<-fit$p.value
}
}
}
然后尝试
ng serve