首页 > 解决方案 > 多个版本的节点的 npm install 失败

问题描述

我不太习惯使用节点,而且我正在为一个项目安装软件包做噩梦。

我在 Windows 10 上将 vagrant/VirtualBox Homestead 用于 Laravel (5.2) 项目。这样做时,npm install我遇到了一大堆错误-我无法全部记住它们,但是我想知道我是否遗漏了一些大问题。

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

然后我被告知“我认为其中一些较旧的项目使用了 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"
  }
}

标签: node.jsnode-sass

解决方案


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

在 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从项目目录中运行。


推荐阅读