プログラミング備忘録

初級プログラマ。python、DL勉強中

npm,node,electronのインストールメモ

electronを使ってみようと思いたったもnpm,node,electronがインストールできず
正しく対処できたか不明だが、とりあえずメモを残しておく

n

とりあえず一通りインストール。npmにはnというパッケージがあってバージョン管理ができる様子

$ sudo apt-get install -y nodejs npm
$ sudo npm cache clean
$ sudo npm install n -g
$ sudo n stable
$ sudo ln -sf /usr/local/bin/node /usr/bin/node
$ sudo apt-get purge -y nodejs npm

npm,node

よくわからないが、purgeしてしまったので再インストール
npmは最新版をインストール

$ sudo apt-get install -y nodejs

$ sudo apt-get install curl
$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
$ sudo apt-get install -y nodejs
$ sudo npm install npm@latest -g

electron

インストールすると以下のpermissionエラー

$ npm install -g electron-prebuilt
npm WARN deprecated electron-prebuilt@1.4.13: electron-prebuilt has been renamed to electron. For more details, see http://electron.atom.io/blog/2016/08/16/npm-install-electron
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! path /usr/local/lib/node_modules

インストールした先が参照できていない様子。prefixを使い、home配下に配置しなおす

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'

環境変数PATHを書き換え

export PATH=~/.npm-global/bin:$PATH

npm config set を使うと以下になった

┌───────────────────────────────────────────────────────┐
│                npm update check failed                │
│          Try running with sudo or get access          │
│         to the local update config store via          │
│ sudo chown -R $USER:$(id -gn $USER) /home/asa/.config │
└───────────────────────────────────────────────────────┘

表示にあるように対処

$ sudo chown  -R user  /home/user/.config/

wineの設定

windowsアプリをlinuxで実行するにはwineが必要
electronでwindowsアプリを作成するにも必要なので準備

$ sudo apt-get install wine

#electronアプリのルートで実行
$ npm install --save-dev rcedit

#python+flaskの場合には以下も実行
$ npm init -y
$ npm install --save request
$ npm install --save request-promise

参考

Ubuntuに最新のNode.jsを難なくインストールする - Qiita
Ubuntu に npm をインストールする - Qiita
npm -vコマンドで怒られた - Qiita
Electron入門(インストールからHello Worldまで) - Qiita
Linux 開発環境で Windows 用の Electron アプリを作る場合のアイコンについて - BLOG EX MACHINA