似乎在解决这个问题时遇到了很多麻烦,但我正在尝试使用 vagrant 并提供一个使用 node / npm 来安装依赖项的服务器。我的设置是:
- ubuntu 12.04 主机(旧开发环境)
- ubuntu 12.04 来宾(通过 vagrant 创建)
- 使用 shell 配置器设置我的服务器(php 5.3、apache、mysql)
- 一切都很好,一切都安装好了,直到我得到
npm install
命令
就我而言, npm install似乎安装了所有东西(很多终端输出等......)。配置脚本中的下一行grunt someTask
我得到“未找到 grunt 命令”。因此,即使npm install
看起来在现实中安装了所有东西,但它并没有。
在研究中,共享文件夹中的 virtualbox 和符号链接似乎是一个问题。我已经添加:
config.vm.provider "virtualbox" do |vb|
# Use VBoxManage to customize the VM. For example to change memory:
vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
vb.customize ["modifyvm", :id, "--memory", "1024"]
结尾
这似乎没有效果。我也尝试使用--no-bin-links
标志安装,再次,似乎没有效果。任何想法如何让 npm 正确安装我的项目依赖项?非常感谢您的任何意见。
编辑:
这个要点,https://gist.github.com/anonymous/b760fdfa9c204c24424b是我运行 vagrant 时得到的输出。正如你所看到的,它看起来好像一切都在安装,但是,当我 ssh 进入盒子时,甚至从配置脚本中,我无法运行“grunt”,因为它说它没有安装。完成后,我的仓库中有一个 node_modules npm install --no-bin-links
。
您需要安装
grunt
,因为您的配置脚本似乎没有安装它。要全局安装它,请运行以下命令:
您可以手动运行它,也可以将其添加到您的配置脚本中。
您是否使用了正确的存储库来安装 NPM?
我曾经在没有这个存储库的情况下安装 nodejs,遇到了很多麻烦,有了这个存储库,我可以在我的 Vagrant Virtual Box 中使用 NPM 安装没有错误,使用 Ubuntu 12.04,试试吧。