CentOS7.3にインストールしたNode.jsにくっついてきたnpmでpurescriptのインストールにコケる【調査中】
1つ前の記事でインストールしたNode.js v8.9.3についてきた
npm 5.5.1で試しにPurescriptをインストールしようとしたら
エラーでインストールできなかったので、暇な時間に調査
予定w
[エラー内容: 1回目]
% npm install -g purescript pulp bower
npm WARN deprecated bower@1.8.2: ...psst! Your project can stop working at any moment because its dependencies can change. Prevent this by migrating to Yarn: https://bower.io/blog/2017/how-to-migrate-away-from-bower/
npm WARN checkPermissions Missing write access to /usr/lib/node_modules
npm ERR! path /usr/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! { Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! stack: 'Error: EACCES: permission denied, access \'/usr/lib/node_modules\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/lib/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.npm ERR! A complete log of this run can be found in:
npm ERR! /home/user/.npm/_logs/2017-12-13T06_41_42_184Z-debug.log
[エラー内容: 2回目]
管理者権限がないからエラーなのかと軽く考えて、sudo を付けて実行して
みたが、更に大量のエラーがwww
※何か、Haskellとは別言語のはずだと思ってたけど、Haskell関係の
キーワードが大量に出ているような気が?(ΦωΦ)
% sudo npm install -g purescript pulp bower
npm WARN deprecated bower@1.8.2: ...psst! Your project can stop working at any moment because its dependencies can change. Prevent this by migrating to Yarn: https://bower.io/blog/2017/how-to-migrate-away-from-bower/
/usr/bin/bower -> /usr/lib/node_modules/bower/bin/bower
/usr/bin/pulp -> /usr/lib/node_modules/pulp/index.js
/usr/bin/purs -> /usr/lib/node_modules/purescript/purs.bin> purescript@0.11.7 postinstall /usr/lib/node_modules/purescript
> install-purescript --purs-ver=0.11.7 --name=purs.bin .✔ Check if a prebuilt 0.11.7 binary is provided for Linux (2s)
✖ Download the prebuilt PureScript binary
https://github-production-release-asset-2e65be.s3.amazonaws.com/13206906/ffcbf268-c96c-11e7-8176-9099cd51d579?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2…
Error: EACCES: permission denied, open 'purs.bin'
▬ Verify the prebuilt binary works correctly
▬ Save the downloaded binary to the cache directory↓ Fallback: building from source
✖ Check if 'stack' command is available
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ │
│ 'stack' command is required for building PureScript from source, but it's not found in your PATH. Make sure you have installed Stack and try again. │
│ │
│ → https://docs.haskellstack.org/en/stable/install_and_upgrade/#linux │
│ │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
▬ Download the PureScript 0.11.7 source
▬ Ensure the appropriate GHC is installed
▬ Build a binary from source
▬ Save the built binary to the cache directorynpm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules/pulp/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! purescript@0.11.7 postinstall: `install-purescript --purs-ver=0.11.7 --name=purs.bin .`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the purescript@0.11.7 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2017-12-13T06_42_53_447Z-debug.log
※何かインストールまともにできてないのにゴミみたいな
モジュールが大量にインストールされてて「は?」ってなった。
npmのせいなのかpurescript自身のせいなのか詳しく見てないので
知らんけどw
npmではインストール出来ないんだっけ?それともNode.jsのバージョン
に依存していたりするのだろうか?
それともCentOSが大変残念な環境なんだろうか?
いろいろ香ばしいw
[参考サイト]
CentOS7.3でFunctional Frontend + React学習用にNode.jsをインストールしてみる
自分は長らくバックエンド周りの開発経験があって、フロントエンド
はWebデザイナーの人にお任せでやってきて、フルスタックで触る
には敷居が高すぎるので、時間がある今の時間を利用してフロントエンド
実装の自習を始めた。
そして、AngularJS1.xとかVue.js 2.xとかちょっと触ってみた。
どうせやるならFunctional FrontendとReact周りも勉強する環境を整える
のはありかもしれないと思って、CentOS7.3.xにNode.jsをインストール
してみたメモ。
[手順]
1. yumでNode.jsインストールコマンドを叩く。
% sudo yum -y install nodejs
2. エラーが発生。
読み込んだプラグイン:fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
google-chrome | 951 B 00:00:00
mariadb | 2.9 kB 00:00:01
remi-safe | 2.9 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/4): extras/7/x86_64/primary_db | 145 kB 00:00:00
(2/4): mariadb/primary_db | 19 kB 00:00:00
(3/4): remi-safe/primary_db | 1.1 MB 00:00:16
updates/7/x86_64/primary_db FAILED 6% [=============================== ] 121 kB/s | 2.7 MB 00:00:26 ETA
http://ftp.tsukuba.wide.ad.jp/Linux/centos/7.4.1708/updates/x86_64/repodata/4d9aa91b709f8a3de78461b6a84cbab9bc7080249d562a03ed5f65447c625f5e-primary.sqlite.bz2: [Errno 14] curl#18 - "transfer closed with 3289927 bytes remaining to read"
他のミラーを試します。
(4/4): updates/7/x86_64/primary_db | 4.5 MB 00:00:34
google-chrome/primary | 1.9 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* remi-safe: mirror.bebout.net
* updates: ftp.riken.jp
google-chrome 3/3
パッケージ nodejs は利用できません。
エラー: 何もしません
3. http-parserパッケージをインストールすれば、成功するという知見を
得たので、やってみる。
% sudo rpm -ivh https://kojipkgs.fedoraproject.org//packages/http-parser/2.7.1/3.el7/x86_64/http-parser-2.7.1-3.el7.x86_64.rpm
https://kojipkgs.fedoraproject.org//packages/http-parser/2.7.1/3.el7/x86_64/http-parser-2.7.1-3.el7.x86_64.rpm を取得中
準備しています... ################################# [100%]
更新中 / インストール中...
1:http-parser-2.7.1-3.el7 ################################# [100%]
4. 1を実行するも、やっぱりエラー。
% sudo yum -y install nodejs
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* remi-safe: mirror.bebout.net
* updates: ftp.riken.jp
パッケージ nodejs は利用できません。
エラー: 何もしません
5. Node.jsにはCentOS / Fedora / RHELベースのディストリビューション用
のスクリプトが用意されているという知見を得たので、やってみる。
% curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
## Installing the NodeSource Node.js 8.x repo...
## Inspecting system...+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m## Confirming "el7-x86_64" is supported...
+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_8.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
## Downloading release setup RPM...
+ mktemp
+ curl -sL -o '/tmp/tmp.0e1UqtGrA4' 'https://rpm.nodesource.com/pub_8.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'## Installing release setup RPM...
+ rpm -i --nosignature --force '/tmp/tmp.0e1UqtGrA4'
## Cleaning up...
+ rm -f '/tmp/tmp.0e1UqtGrA4'
## Checking for existing installations...
+ rpm -qa 'node|npm' | grep -v nodesource
## Run `yum install -y nodejs` (as root) to install Node.js 8.x and npm.
## You may also need development tools to build native addons:
## `yum install -y gcc-c++ make`
6. 1を再実行2回目でipa周りで警告が発生するも、インストールOK。
% sudo yum -y install nodejs
読み込んだプラグイン:fastestmirror, langpacks
nodesource | 2.5 kB 00:00:00
nodesource/x86_64/primary_db | 29 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* remi-safe: mirror.bebout.net
* updates: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ nodejs.x86_64 2:8.9.3-1nodesource を インストール
--> 依存性解決を終了しました。依存性を解決しました
=========================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=========================================================================================================================================================================================
インストール中:
nodejs x86_64 2:8.9.3-1nodesource nodesource 17 Mトランザクションの要約
=========================================================================================================================================================================================
インストール 1 パッケージ総ダウンロード容量: 17 M
インストール容量: 51 M
Downloading packages:
警告: /var/cache/yum/x86_64/7/nodesource/packages/nodejs-8.9.3-1nodesource.x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 34fa74dd: NOKEY=======- ] 2.1 MB/s | 16 MB 00:00:00 ETA
nodejs-8.9.3-1nodesource.x86_64.rpm の公開鍵がインストールされていません
nodejs-8.9.3-1nodesource.x86_64.rpm | 17 MB 00:00:06
file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL から鍵を取得中です。
Importing GPG key 0x34FA74DD:
Userid : "NodeSource <gpg-rpm@nodesource.com>"
Fingerprint: 2e55 207a 95d9 944b 0cc9 3261 5ddb e8d4 34fa 74dd
Package : nodesource-release-el7-1.noarch (installed)
From : /etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告: RPMDB は yum 以外で変更されました。
** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
ipa-client-4.4.0-14.el7.centos.7.x86_64 は次のインストール済みと衝突しています: freeipa-client: ipa-client-4.4.0-14.el7.centos.7.x86_64
ipa-client-common-4.4.0-14.el7.centos.7.noarch は次のインストール済みと衝突しています: freeipa-client-common: ipa-client-common-4.4.0-14.el7.centos.7.noarch
ipa-common-4.4.0-14.el7.centos.7.noarch は次のインストール済みと衝突しています: freeipa-common: ipa-common-4.4.0-14.el7.centos.7.noarch
ipa-python-compat-4.4.0-14.el7.centos.7.noarch は次のインストール済みと衝突しています: freeipa-python-compat: ipa-python-compat-4.4.0-14.el7.centos.7.noarch
インストール中 : 2:nodejs-8.9.3-1nodesource.x86_64 1/1
検証中 : 2:nodejs-8.9.3-1nodesource.x86_64 1/1インストール:
nodejs.x86_64 2:8.9.3-1nodesource完了しました!
7.インストールバージョンを確認。
% node --version
v8.9.3
8. ついでにnpmのバージョンも確認しておく。
% npm -v
5.5.1
[参考サイト]
remoteリポジトリの変更内容を取得しようと思って、git fetchしようとしたらアクセスエラー【解決】
同じパスワードで認証しているのに、git fetchはエラーだけど
git cloneでローカルにプロジェクトを落としてくるとエラーに
ならないのは何で?(ΦωΦ)
ってところを考えてみた。
まず、違うところ。
プロジェクトのディレクトリとファイルのオーナーが
リモートはrootだけど、ローカルは自分(一般ユーザー)。
他を確認してみたけど、特になかった。
でも、今まで特にroot権限でgit fetchで認証エラーになったことは
ないのに。何でだろう???
という訳で、根本的な解決にはなってないけど、リモートのリポジトリに
pushするためにやってみた手順。
1. リモートのgit fetchが通らないプロジェクトをリネーム。
2. 改めて、リモートからgit cloneを実行し、プロジェクトを
再取得。
# git clone -b develop ssh://192.168.x.xxx/home/git/xxx.git
3. ローカル実行環境の修正分を2で作成した環境にmerge。
# git merge feature-task-xxxx
4. リモートの変更点を取得し、merge。
# git fetch origin
root@192.168.x.xxx's password:
# git merge origin/develop
Alread up-to-date.
5. リモートに3の内容をpush。
# git push origin develop
root@192.168.x.xxx's password:
Counting objects: 10, done.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 684 bytes | 0 bytes/s, done.
Total 6 (delta 5), reused 0 (delta 0)
To ssh://192.168.x.xxx/home/git/xxx.git
7d4c55d..e6dff9c develop -> develop
うーん、元々個人開発で、ローカル開発環境で使い勝手が
いいようにファイル権限とかオーナーとか自分でやってた
から、その辺の権限が壊れたとかあるのかもしれんけど・・・
remoteリポジトリの変更内容を取得しようと思って、git fetchしようとしたらアクセスエラー【調査中】
CakePHP2.xのフロントエンド部分のレイアウトを調整した
ので、リモートにマージしようと思って、いつものように、
git fetchしたらgitサーバーのパスワード入力で認証エラーに
なって困惑している。
ちなみにエラー内容。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
git clone, git status, git log等のローカルで使えるコマンドや
git diff origin/develop, git remote -v 等のコマンドは問題なく
使えるが、リモートにアクセスしようとすると怒られる。
4ヶ月くらいアクセスしてなかったリポジトリだけど、特に
自分の方では何も変更してないんだけどな。
とりあえず、時間があるので調査中。
[参考サイト]
CakePHP2.xのViewでJavascriptやCSSを使う時の備忘録
フレームワークを使ってもフロントエンド苦手だー。
特にCakePHPは鬼門だー。
という訳で、必要な情報サイトについてまとめてメモ。
とりあえず参考リンクまで。
使って行って更に情報が増えたら使い方についても
まとめる予定。
[参考サイト]
日本語のTelegram情報
Telegramを電番なしのAndroid端末で試したい。
と思っていたので、数少ない日本語情報を発見して
早速メモ∮(ΦωΦ)
いつもは英語情報にお世話になってるけど裾野を広げる
には日本語情報大事だからね。
TelegramではLINEでいうアバターはステッカーって
言うらしい。ふむり。
[参考サイト]
テレグラムボットの作り方 – Telegram Creators JP
テレグラムの使い方 – Telegram Creators JP
テレグラムステッカーの作り方 – Telegram Creators JP
Manjaro 15.12_x86-64 のHaskell開発環境を見直し再構築用メモ
今年はHakskellのアドベントカレンダーに参加していたことを
思い出して、自分のリナタブのHaskell開発環境の見直しを
して、記事用にコードを書いたり動作確認しないと直前に
バタバタしてパニックになるから間に合わなくね?
ってことで、必要そうな情報をメモしてどこでも確認できる
ようにする(ΦωΦ)
エディタはVimとVisual Studio Codeで使えるようにしたい。
[参考サイト]
1. 開発環境構築、Stackの使い方等
あいや☆ぱぶりっしゅぶろぐ! - 僕ののHaskell開発環境を紹介する
2. Bot Framework およびサンプルコード等
Welcome to marvin’s documentation! — marvin 0.2.3 documentation