node.js - 多个版本的节点的 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"
}
}
解决方案
上次我也遇到了同样的问题。这是我所做的:
在 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
从项目目录中运行。