【问题标题】:Vagrant and installing packages in shared folderVagrant 和在共享文件夹中安装包
【发布时间】:2014-03-30 07:09:25
【问题描述】:

我在 vagrant 中安装 npm 包时遇到问题。

我是 vagrant 中的 SSH,我正在尝试运行 sudo npm install gulp 它在 vagrant 在主机和虚拟机之间共享的文件夹中不起作用。

但它在纯虚拟机内部的单独目录中工作得非常好。

这是我收到的错误的一部分:

npm ERR! Error: ENOENT, chmod '/vagrant/public/laravelproject/node_modules/gulp/node_modules/gulp-util/test/PluginError.js'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! System Linux 3.2.0-60-generic-pae
npm ERR! command "node" "/usr/local/bin/npm" "install" "gulp" "--save-dev"
npm ERR! cwd /vagrant/public/laravelproject
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.6
npm ERR! path /vagrant/public/laravelproject/node_modules/gulp/node_modules/gulp-util/test/PluginError.js
npm ERR! fstream_path /vagrant/public/laravelproject/node_modules/gulp/node_modules/gulp-util/test/PluginError.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! fstream_finish_call chmod
npm ERR! code ENOENT
npm ERR! errno 34

任何人都知道如何授予 vm 完全访问权限以访问我试图与 VM 共享的主机上的目录,这是我的 vagrant 配置:

Vagrant.configure("2") do |c|
  c.vm.box = "precise32"
  c.vm.box_url = "http://files.vagrantup.com/precise32.box"
  c.vm.network :private_network, ip:"192.168.33.10"
  c.vm.synced_folder "./public", "/var/www/", owner:"root", group:"root"
end

【问题讨论】:

  • 您是在主机还是客户机上安装?你在两者上都使用linux吗?你用什么提供者来处理流浪者?我不知道这个错误的来源,但我可能会尝试调试一下。
  • 主机 windows,VM linux ubuntu 精确 32,试图从 vm 安装到主机上与 VM 共享的文件夹中。他的问题归结为我只能假设的文件夹权限。

标签: linux networking npm vagrant


【解决方案1】:

好吧,经过多年的挖掘,我找到了一个不能完全解决问题但可以做我想做的事情的解决方案。

这是我找到答案的地方Solution

但基本上运行npm install --no-bin-links [packagename]

【讨论】:

    猜你喜欢
    • 2015-10-05
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    相关资源
    最近更新 更多