今までの開発の方式にならってMEAN.IOを使うのにも
Vagrantの共有フォルダで開発をしていたが、結論から言うと
MEAN.IOを使うときはVagrantの共有フォルダは絶対に使わないほうがいい。
MEAN.IOの折角の便利な機能が全然使えなくなるし、
エラーが連発する。
工夫したら使えるようにする事もできなくはないが、
断然効率が悪い。
原因の多くは、Vagrantの共有フォルダでchmodができないことにある。
頑張って結局できなかったことがおおくて、悔しかったので記録しておく。
今までの開発の方式にならってMEAN.IOを使うのにも
Vagrantの共有フォルダで開発をしていたが、結論から言うと
MEAN.IOを使うときはVagrantの共有フォルダは絶対に使わないほうがいい。
MEAN.IOの折角の便利な機能が全然使えなくなるし、
エラーが連発する。
工夫したら使えるようにする事もできなくはないが、
断然効率が悪い。
原因の多くは、Vagrantの共有フォルダでchmodができないことにある。
頑張って結局できなかったことがおおくて、悔しかったので記録しておく。
Gitをインストール
|
1 2 |
$ sudo yum install git git-all git-daemon $ sudo /etc/init.d/xinetd start |
|
1 2 3 4 |
$ sudo passwd uploader $ sudo chown uploader /var/lib/git $ sudo chgrp uploader /var/lib/git $ sudo chmod 755 /var/lib/git |
uploaderユーザでリモートリポジトリを作成
|
1 2 |
$ mkdir porkyou $ git init --bare --shared porkyou |
前回の記事と同様に、、git push origin masterまでいって
! [remote rejected] master -> master (shallow update not allowed)
のエラーで終わり。
|
1 2 3 |
sudo yum install epel-release sudo rpm -ivh http://repo.okay.com.mx/centos/6/x86_64/release/okay-release-1-1.noarch.rpm sudo yum install phantomjs.x86_64 |
Vagrant/CentOSにMEANの環境を一瞬で作成する
|
1 2 |
sudo yum -y groupinstall "Development Tools" sudo yum -y update |
|
1 |
git clone git://github.com/creationix/nvm.git ~/.nvm |
|
1 |
source ~/.nvm/nvm.sh |
|
1 |
nvm install 6.3.1 |
|
1 |
sudo vim /etc/yum.repos.d/mongodb.repo |
|
1 2 3 4 5 |
[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1 |
|
1 2 3 |
sudo yum -y install mongodb-org sudo service mongod start sudo chkconfig mongod on |
|
1 |
sudo yum install libpng-devel |
|
1 |
npm install -g bower grunt-cli yo generator-mean |
|
1 |
yo mean |
|
1 2 3 4 5 6 7 8 |
$ grunt server --force Loading "mocha-test.js" tasks...ERROR >> Error: Cannot find module 'mocha' Loading "mocha-test.js" tasks...ERROR >> Error: Cannot find module 'mocha' Warning: Task "server" not found. Used --force, continuing. Done, but with warnings. |
|
1 2 3 4 5 6 7 8 |
npm install mocha sudo yum install ruby sudo yum install gcc g++ make automake autoconf curl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util-devel sqlite-devel sudo yum install ruby-rdoc ruby-devel sudo yum install rubygems sudo gem update --system sudo gem install compass sudo gem install sass |
Rubyが最新版でないことが問題。
|
1 2 3 4 5 6 |
su cd ~ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv mkdir ~/.rbenv/plugins cd ~/.rbenv/plugins/ git clone git://github.com/sstephenson/ruby-build.git |
/etc/profileを編集
|
1 2 3 4 |
一番下に↓の行を追加 export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" |
rbenvを実行するときに必要なモジュールをインストール
|
1 2 |
sudo yum install gcc make openssl-devel libffi-devel sudo yum install -y readline-devel |
|
1 |
exec $SHELL -l |
rubyの2.3.3をインストール
|
1 2 3 4 |
rbenv install 2.3.3 rbenv global 2.3.3 rbenv local 2.3.3 rbenv rehash |
MongoDBを3.4にアップグレード
MongoDB3.4のyumレポジトリを追加
|
1 |
sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo |
|
1 2 3 4 5 6 |
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc |
もともとあるMongoのレポジトリを修正
|
1 |
sudo vi /etc/yum.repos.d/mongodb.repo |
|
1 2 3 4 5 |
[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=0 <- 0に変更 |
MongoDBのアップグレード
|
1 2 |
sudo yum clean all; sudo yum check-update sudo yum update |
・・・・・・・・
どう頑張ってもうまくいかない。。ので、諦めた。
一応、今後のために覚え書きとして記事にしておく。
・・・・・・・・
幸いnvmを入れていたので、nvmですぐにインストールし直そうと思ったら。
nvmもないし、
|
1 |
source ~/.nvm/nvm.sh |
っと、そうしたらnodeもnpmも回復。何故だかわからないけど。
まぁよし。
[2017/2/17追記]
イチイチログインのたびに上を実行するのも面倒なので、
~/.bashrcに以下のコードを追加。
|
1 2 |
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm |
VagrantのCentOSのYeomanでひな形つくって、展開とかしてたらpermission errorが発生。
そこら辺、解決しようとchmodしても一向に権限が変わらない。。
原因はchmodしようとしているフォルダがVagrantの共有フォルダのため
みたい。
Vagrantfileに権限の設定を変更して再起動することみたい。
↓を↓みたいに変更する。
|
1 |
config.vm.synced_folder "./http", "/var/source", :create => true, :owner => 'vagrant', :group => 'vagrant', :mount_options => ['dmode=777', 'fmode=666'] |
|
1 |
config.vm.synced_folder "./http", "/var/source", :create => true, :owner => 'vagrant', :group => 'vagrant', :mount_options => ['dmode=777', 'fmode=766'] |
YoemanとGruntとbowerをAngular-Material-FullStackをインストール
|
1 |
npm install -g yo grunt-cli bower generator-angular-material-fullstack |
プロジェクトのディレクトリに移動
そして、Yoemanを実行。Angular-Material-FullStackを展開
|
1 |
yo angular-material-fullstack sns |
ちなみに、ここで使っているnodejsのバージョンは6.9.5です。
バージョンを7以上にするとエラーがひどいみたいなので、
しかし、エラーがバンバンでる。。
前に試して見たエラーの対策を使って、対応してみる。
|
1 |
npm install -g grunt-node-inspector |
そうしたうえで実行
|
1 |
npm install |
ダメでした。
|
1 |
npm install -g node-inspector |
次の問題
|
1 2 |
$ sudo npm install sudo: npm: command not found |
の場合は次のように
|
1 2 3 4 |
sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/local/lib/node /usr/lib/node sudo ln -s /usr/local/bin/npm /usr/bin/npm sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf |