我的npm坏了 - 无法读取未定义的属性'get'

时间:2018-06-11 12:36:55

标签: node.js cordova npm

我有2017年的视觉工作室,想制作一个Cordova应用程序。我现在遇到很多问题并且发现了问题。现在我运行Windows 10并安装了nodejs但是npm不起作用。我用不同的命令进行了测试,但我总是遇到同样的错误。我已取消Node但我无法开车。 enter image description here

4 个答案:

答案 0 :(得分:0)

我为我的问题道歉。我只需要重新启动Windows。

答案 1 :(得分:0)

就我而言,这是〜/ .np *文件和目录的权限问题。这些是错误地归根所有。我做到了

sudo find "~/.np*" -exec chown myuser {} \;

这解决了它。

答案 2 :(得分:0)

只需在此处发布以帮助将来的流浪者,

对于我来说,实际问题是由于Windows用户名文件夹中存在空格。通过查看堆栈跟踪的第一行也可以很清楚地看到

Error: EPERM: operation not permitted, mkdir 'C:\Users\FirstName'

由于不存在名为FirstName的目录,并且实际目录应为试图运行FirstName LastName的{​​{1}},因此不允许对其进行获取操作。

以下是我通过citoreek, g8up & gijswijs

修复它的方法

运行mkdir以编辑您的配置,这将在记事本或您配置的编辑器中打开一个文本文件,

然后从{p>更改npm config edit

cache path

; cache=C:\Users\Gijs van Dam\AppData\Roaming\npm-cache

请记住一开始要删除cache=C:\Users\GIJSVA~1\AppData\Roaming\npm-cache , 下一个问题是我们如何知道将用户名替换为;

有几种方法可以解决这个问题,

  1. 转到GIJSVA~1打开电源外壳并执行以下命令
  

cmd / c目录/ x

这是什么,请列出当前目录中的所有目录及其短名称,这些短名称不应包含任何空格,并且长度通常不超过6个字符。将该短名称复制到您的用户名目录中,并在您的缓存路径中使用它。

您会注意到这些短名称仅适用于包含空格或长度超过6个字符的目录。 (对于其余目录,其短名称应与目录名称相同)

  1. 如果不想使用上述命令,则只需从用户名中删除高速缓存路径中的所有空格,然后使用用户目录名的前6个字符并将其后缀〜1。您还应该将其大写,但似乎没有任何区别。

完成此文件的编辑后,保存所做的更改,然后在关闭任何活动的Power Shell / bash进程并重新打开它们之后重试。

答案 3 :(得分:-2)

文件中指定了基本路径

.npmrc