【发布时间】:2015-08-21 23:22:36
【问题描述】:
我需要在我的本地 mac 机器上使用 vagrant 重现具有特定(旧)版本的生产节点环境,当我运行 npm install 时它总是失败并出现以下错误:
- 可选的 dep 无法继续 fsevents@0.3.6
- 可选的 dep 失败,继续 readable-stream@1.1.13
- 可选的 dep 失败,继续 imagemin-xx
- EEXIST,打开 '/root/.npm/0ae333bd-t-npm-inherits-2-0-1-package-tgz.lock'
文件存在:/root/.npm/0ae333bd-t-npm-inherits-2-0-1-package-tgz.lock 将其移开,然后重试。
我尝试了很多事情都没有成功:
- npm install --no-bin-links
- sudo npm install
- npm 缓存清理
- rm -r 节点模块
- rm -r /root/.npm/
我无法弄清楚我做错了什么以及原因是什么......
欢迎任何关于我做错了什么的想法或一些建议。谢谢。
这是我的环境详细信息:
- 操作系统:Debian 7.8
- 节点:v0.10.36
- npm: 1.4.28
- PostgreSql : 9.3.6
- PostGis:2.1
- git:1.7.10.4
- 红宝石:1.9.3
我的 vagrant 项目中有 2 个目录:
- www:包含我的应用程序
- 配置:包含包列表和数据库转储
我的流浪档案:
Vagrant.configure(2) do |config|
config.vm.box = "puppetlabs/debian-7.8-64-puppet"
config.vm.hostname = "ppld-preprod"
config.vm.provision "shell", path: "provision.sh"
config.vm.network "forwarded_port", guest: 80, host: 8999
config.vm.synced_folder "./", "/vagrant", disabled: true
config.vm.synced_folder "www", "/vagrant/www"
config.vm.synced_folder "config", "/vagrant/config"
end
我的配置文件:
apt-get -y update
dpkg --set-selections < /config/packages_list
apt-get -y -u dselect-upgrade
wget http://nodejs.org/dist/v0.10.36/node-v0.10.36.tar.gz
tar xfz node-v0.10.36.tar.gz
cd node-v0.10.36
./configure
make
make install
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get -y install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
apt-get -y update
sudo apt-get -y install postgresql-9.3-postgis-2.1
sudo apt-get -y install postgresql-server-dev-9.3
sudo apt-get -y install git
sudo chown -R $(whoami) "/vagrant/"
sudo chmod -R 777 /vagrant/
cd /vagrant/www/ppld/
sudo npm install
【问题讨论】:
标签: node.js npm debian vagrant postgresql-9.3