Node.js SurfaceBook Win10:@ angular / cli不会安装

时间:2018-02-10 00:00:42

标签: node.js windows angular-cli

技术细节:

  • SurfaceBook / win10最新;
  • Node.js 8.9.4 x64
  • 使用管理员帐户

目标是拿一个应用程序(没有什么特别的关于Web应用程序)并让它在这台笔记本电脑上运行。它在我的其他设备(win7和Linux)上运行良好。

我尝试用StackOverflow的其他答案解决问题。我经历了:删除文件(Appdata / roaming / npm& npm-cache);卸载node.js,重新安装等。什么都行不通。

在cmd.exe提示符下使用NPM(win版本)时,我收到一条奇怪的消息。但是在Git bash下它并没有多少说话。

C:\Users\TexMex>npm -v
'CALL "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules\npm\bin\npm-cli.js" prefix -g' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
5.6.0

C:\Users\TexMex>

Git Bash更加沉默。它并不意味着它没有经历同样的问题。 " PATH"环境变量 S 根据其他StackOverflow答案正确设置。仍然......它有效......好吧,只要它有效,它就不是问题。

安装包时一切顺利,直到@ Angular / cli。我最终得到了这个" uglify postinstall"每次都出错。

    [...]
34735 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
    34736 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS:    darwin
    34736 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch:  any
    34736 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS:   win32
    34736 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: x64
    34737 warn optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.7.2 (node_modules\@angular\cli\node_modules\node-sass):
    34738 warn optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.7.2 install: `node scripts/install.js`
    34738 warn optional SKIPPING OPTIONAL DEPENDENCY: spawn C:\WINDOWS\system32\cmd.exe; ENOENT
    34739 verbose optional SKIPPING OPTIONAL DEPENDENCY:
    34739 verbose optional Failed at the node-sass@4.7.2 install script.
    34739 verbose optional SKIPPING OPTIONAL DEPENDENCY: This is probably not a problem with npm. There is likely additional logging output above.
    34740 verbose stack Error: uglifyjs-webpack-plugin@0.4.6 postinstall: `node lib/post_install.js`
    34740 verbose stack spawn C:\WINDOWS\system32\cmd.exe; ENOENT
    34740 verbose stack     at _errnoException (util.js:1022:11)
    34740 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    34740 verbose stack     at onErrorNT (internal/child_process.js:372:16)
    34740 verbose stack     at _combinedTickCallback (internal/process/next_tick.js:138:11)
    34740 verbose stack     at process._tickCallback (internal/process/next_tick.js:180:9)
    34741 verbose pkgid uglifyjs-webpack-plugin@0.4.6
    34742 verbose cwd C:\Users\TexMex\Desktop\DEV\git
    34743 verbose Windows_NT 10.0.16299
    34744 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "--save-dev" "@angular/cli@latest"
    34745 verbose node v8.9.4
    34746 verbose npm  v5.6.0
    34747 error file C:\WINDOWS\system32\cmd.exe;
    34748 error path C:\WINDOWS\system32\cmd.exe;
    34749 error code ELIFECYCLE
    34750 error errno ENOENT
    34751 error syscall spawn C:\WINDOWS\system32\cmd.exe;
    34752 error uglifyjs-webpack-plugin@0.4.6 postinstall: `node lib/post_install.js`
    34752 error spawn C:\WINDOWS\system32\cmd.exe; ENOENT
    34753 error Failed at the uglifyjs-webpack-plugin@0.4.6 postinstall script.
    34753 error This is probably not a problem with npm. There is likely additional logging output above.
    34754 verbose exit [ 1, true ]

事情就是它会阻止创建@ angular / cli目录,并且相应的文件会被#34;降落"这里(全局安装与否)。 ' ng'命令不可用(令人尴尬)。

我做完作业尝试了所有可以找到的StackOverflow答案;我没有想法。

也许它在Windows注册表中有些突发(某些以前安装的nodeJS)?但如果有???从注册表中删除的键是什么?在这种情况下清理注册表是否相关?它是否特定于表面书???这一切都很奇怪。

所以最后一个问题是: 如何让它发挥作用,100%确定拍摄?

海中的瓶子......帮助。

1 个答案:

答案 0 :(得分:0)

我认为我找到了问题的根本原因。

似乎在线Microsoft帐户(使用W10和SurfaceBooks时很容易激活)禁止软件修改用户主目录中的某个目录。此目录(或其中的一部分)以某种方式与Microsoft服务同步。

所以你不能"混乱"就像它只是本地的一样。使用该服务时,这些目录看起来像受系统保护的目录。不使用时;他们只是像你们所知道的那样隐藏起来。 "应用程序数据"这些是同步的。

另外,我建议将NodeJs / Angular与Docker一起使用。特别是自第4版以来Angular定期更新。