节点的多个版本的npm安装失败

问题描述

我不太习惯使用节点,并且为安装项目的软件包感到噩梦。

我将Windows 10上的vagrant / VirtualBox Homestead用于Laravel(5.2)项目。在进行npm install时,我遇到了很多错误-我无法完全记住所有错误,但是我想知道是否缺少一些大问题。

我的第一次尝试是使用最新的节点节点版本-我认为是12。

然后我被告知“我认为其中一些较旧的项目使用v8”,因此我使用nvm进行了处理,并遇到了很多其他问题。一些涉及符号链接,因此我删除了node_modules并尝试使用--no-bin-links。那是行不通的,当我查看SO时,其中一个错误是节点版本,所以我尝试了v9.0.0,这带来了不同的问题。

有多难?

我对这方面的前端知识了解不足,无法知道遇到这么多麻烦是正常的,还是我没有得到足够的信息,例如“您绝对需要使用节点版本8.1.3,以及其他特定的详细信息...”或类似的内容

有人对如何使它起作用有任何建议吗? node-sass软件包似乎是整个安装失败的重要原因...

下面是我的package.json


{
  "private": true,"scripts": {
    "prod": "gulp --production","dev": "gulp watch"
  },"devDependencies": {
    "gulp": "^3.9.1","laravel-elixir": "^5.0.0","bootstrap-sass": "^3.0.0"
  },"dependencies": {
    "node-sass": "^4.1.0"
  }
}

解决方法

我上次遇到同样的问题。这是我所做的:

在homestead目录中使用终端运行命令vagrant plugin install vagrant-winnfsd,它将安装允许您在Windows上使用NFS协议的插件。

像这样编辑您的Homestead.yaml文件:

folders:
- map: ~/Projects
to: /home/vagrant/code
type: "nfs"

运行命令vagrant reload --provision。之后,当您使用安全外壳-vagrant ssh时,您应该可以从项目目录内部运行npm install