npm publishで「npm ERR! forbidden user: XX not authorized to modify XXXXXX」が出た場合
npmモジュールを書いて npm publish
してnpmに公開しようとした時に
エラーが起こり
npm ERR! forbidden user:XXX not authorized to modify XXXXXXXX
とでました。
package.jsonには特に問題があるように思えません。
いろいろ調べてみると、編集権限がないとか。 が、しかしこれは自分が書いたスクリプトだしなんででしょう。
まず今実行しているnpm のユーザーを調べます
npm whoami
で自分の想定してるユーザーネームが出ると思います。
次にそのmoduleのnpmでの所持者を見てみます。
そのmoduleフォルダ内でnpm owner ls
or npm owner ls module名
すると全然違う人の名前が出てきました。
原因は完全に同名のnode_moduleがnpmに登録されているというものでした。
車輪の再発明なので、完全に無駄でしたね。気をつけましょう。
YAPC::Asiaに行ってきた #yapcasia
2日通しチケット買ってたのに2日目しか行けなかった。そもそも土日かと思ってたら金土だったことに数日前に気づいた。
人が沢山いるところが辛いので大きい技術系イベントにはあまり参加したことなかったし、Perlは業務上基本的に触らずたまに社内で出くわすPerlスクリプトに顔を顰めるという経験が主だけどYAPC初参加。
発表とかについての所感
1日目に聞きたいのもあったけど資料がすぐに上がってたりしたので凄く感謝。 で、実際に会場に聞きに行くと別の感想。
発表の仕方次第で、聞いてる人が更に聞きたくなったり逆に聞く気がなくなったりしてしまう。
オブラートに包まず言うなれば、資料読めば大体のことは伝わる。
それでも、足を運んで聞きに行く理由ってソレ以上に得ることがスピーカーと聴衆それぞれにあるんだと思う。発表したことないから憶測でしかないけども。
発表内容自体は別にスピーカーの一人よがりで聴衆に気を使う必要とかないと思うんだけどそれなら突き詰めるべきなんだなぁとかなんとか。
YAPCでの発表は大体そんな感じでかっこ良かった。
しかし、スピーカーも不安そうだと聞いてる方も不安になるという場合もあると気づけた。気をつけようと思う。
会場とかネットワークとか
ネットワーク強固すぎてすごかった。
あんだけ人いてネットワーク快適なの素晴らしいし、社内のWIFIの方が貧弱なんじゃないかなとも思った。
無限コーヒーとかRedbullとか、Hub貸し切りとか勉強会じゃなくてお祭りっぽい。多分そう。
あとスタッフの人が優しかった。別に客とかじゃないのにあんなに優しくしていいのか。
まとめ
Perl使ってないし、自分が興味ある技術のために!とかいうモチベーションでなく行ったYAPC::Asiaだったけど凄く良かった。
ただ残念というか悔しいのはコミュ障ここに極まれりという感じで人とぜんぜん話せていないこと。
次回あるならばTalk or LTをしたい、スタッフをするのもいいかもしれない。
今のところ何者でもない人間なので人間として認知されたい、承認されたい。友達がほしい。
そのために日々忙殺されてるだけでは良くない。
手を動かそう、外に出よう、人と話そう。
「帰ってブログを書くまでがYAPC::Asia」と言っていたが自分にとっては「ブログを書いてからがYAPC::Asia」なのではなかろうか。
とりあえずGo langやろう。
良かった。
CentOS 6でSkypeにログインできなくなったので、最新版のSkypeをCUIでインストール
以前このような記事を書いた。
CentOS6.4にSkypeを入れてbotでお話させる - /dev/null
その後それなりに動いてはいたのだが、サーバーを再起動して再度Skypeを実行させても起動されていない。 どうやらSkypeの古いVersionではログインすら出来なくなった模様。
弊社ではSkypeの古いバージョンの廃止を計画しておりますが、お客様がご利用のSkypeはこのバージョンに該当します。 引き続きデスクトップでSkypeにサインインするには、最新バージョンをダウンロードする必要があります。 新しいバージョンはパフォーマンスが向上しており、最新の機能やセキュリティの更新が含まれているため、最高のSkype体験をお楽しみいただけます。 最近Skypeを更新されましたか? その場合、このメールの内容は無視していただいて構いません。 今すぐ更新: http://www.skype.com/download.
新しいLinux用クライアントをインストールし直します。 なお、環境は先の記事通りであるとします。
まず最新のクライアントをDL。
wget http://download.skype.com/linux/skype-4.3.0.37.tar.bz2
解凍
tar lvxf skype-4.3.0.37.tar.bz2
配置
mv skype-4.3.0.37 /opt/skype
前回使ったスクリプトで起動する。
/opt/skype/skype: error while loading shared libraries: libQtDBus.so.4: cannot open shared object file: No such file or directory /opt/skype/skype: error while loading shared libraries: libQtWebKit.so.4: cannot open shared object file: No such file or directory /opt/skype/skype: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory
各種libが足りないよう。
すべての製品 の Skype サポート| Skype サポート
公式の手順を追っていく。
yumで色々インストールから。
yum update yum install glibc.i686 nss-softokn-freebl.i686 alsa-lib.i686 libXv.i686 libXScrnSaver.i686 libtiff.i686 glib2.i686 libSM.i686 libXrender.i686 fontconfig.i686 pulseaudio-libs.i686 alsa-plugins-pulseaudio.i686 file-roller
CUIなのでfile-rollerは使えません。
wget ht tp://ftp.us.debian.org/debian/pool/main/q/qt4-x11/libqt4-webkit_4.6.3-4+squeeze1_i386.deb wget http://ftp.us.debian.org/debian/pool/main/q/qt4-x11/libqt4-phonon_4.6.3-4+squeeze1_i386.deb wget http://ftp.us.debian.org/debian/pool/main/q/qt4-x11/libqt4-xmlpatterns_4.6.3-4+squeeze1_i386.deb
CentOSでdpkgは使えないのでdebファイルの展開に、arコマンドを使います。
ar xv libqt4-phonon_4.6.3-4+squeeze1_i386.deb tar zvxf data.tar.gz sudo cp ./usr/lib/lib* /opt/skype
これをそれぞれのdebファイルに繰り返します。
更に起動スクリプトを書き換えます。
start() { log_daemon_msg "Starting" "skype" if ! dircheck "$LOGFILE" || ! dircheck "$XAUTHFILE"; then log_end_msg 1 echo RETVAL=1 return fi MCOOKIE=`mcookie` && \ + LD_LIBRARY_PATH=/opt/skype/:$LD_LIBRARY_PATH sudo -u "$DAEMON_USER" env XAUTHORITY=$XAUTHFILE sh -c "xauth add \":$XSERVERNUM\" \"$XAUTHPROTO\" \"$MCOOKIE\" >> \"$LOGFILE\" 2>&1" && \ sudo -u "$DAEMON_USER" env XAUTHORITY=$XAUTHFILE sh -c "Xvfb :$XSERVERNUM -screen 0 800x600x8 -nolisten tcp >> \"$LOGFILE\" 2>&1 & echo \$!" >"$PIDFILE" && sleep 3 && \ (sudo -u "$DAEMON_USER" env DISPLAY=:$XSERVERNUM XAUTHORITY=$XAUTHFILE SKYPE="$SKYPE" sh -c "echo \"$USERNAME $PASSWORD\" | nohup \"$SKYPE\" --dbpath=\"$DBPATH\" --pipelogin &") >> "$LOGFILE" 2>&1 && \ (log_end_msg 0 && [ -d /var/lock/subsys ] && touch /var/lock/subsys/skype || true) \ || (RETVAL=$?; kill -TERM `cat $PIDFILE`; log_end_msg 1) }
LD_LIBRARY_PATH=/opt/skype/:$LD_LIBRARY_PATHの行を足します。
これで再度起動。
/opt/skype/skype: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory
libQtGui.so.4が足りないのでファイルを提供しているパッケージを探します。
yum provides libQtGui.so.4 1:qt-x11-4.6.2-28.el6_5.i686 : Qt GUI-related libraries Repo : updates Matched from: Other : libQtGui.so.4 1:qt-x11-4.6.2-26.el6_4.i686 : Qt GUI-related libraries Repo : base Matched from: Other : libQtGui.so.4
qt-x11-4.6.2-28.el6_5.i686が該当するのでインストール
yum install -y qt-x11-4.6.2-28.el6_5.i686
再度起動すると、きちんと動くようになります。 APIなどは提供が停止されているのでおそらく動かないでしょう。
mount時に「wrong fs type, bad option」「間違ったファイルシステムタイプ、不正なオプション、」とか出た時
nfsを/etc/fstabに書いてmount -a した時に
mount: 間違ったファイルシステムタイプ、不正なオプション、 172.0.0.1:/var/hoge/fuga/piyo のスーパーブロックが不正、コードページまたは ヘルパープログラムの未指定、或いは他のエラー (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program) In some cases useful info is found in syslog - try dmesg | tail or so
nfs周りのパッケージが足りてないのでインストールする
yum install nfs-utils nfs-utils-lib
Skype Desktop APIが利用不可能になってしまったようです
Skype Desktop APIというのものがありまして、以前はそれを利用することでプログラム上からSkypeにアクセスし、botを動かしたりなどということが出来ました。
私も以下のような手順で実験しています。
CentOS6.4にSkypeを入れてbotでお話させる - /dev/null
そして、Skype APIの廃止は去年10月頃に廃止されると発表されましたが、なんだかんだ使えている状況でした。
Windows デスクトップ向け「Skype」のプラグインAPIが2013年12月をもって提供終了 - 窓の杜
ところが6月半ばごろから、どうも様子がおかしい。 今までHubot + Skypeを使っていたが、新しく作った部屋にhubotを入れてもなんの反応もしない。 それまで動いてた部屋では変わらず機能している。
どうしたのかなと思っていましたが6月の半ば以降にAPIの提供が完全に終了し、それ以降に作った部屋ではAPIは使えないということのようです。
Skypeの開発者サイトもアクセスできなくなってしまっています。
おそらくこの投稿以降に使えなくなっていると思われます。
What’s new in Skype | Skype Blog
ちなみにSkype4pyで投稿してみるとこうなります。
# coding:utf-8 import Skype4Py import sys skype = Skype4Py.Skype(Transport='x11') skype.Attach() chat = [c for c in skype.Chats if c.Topic == u'新しい部屋'][0] chat.SendMessage("test")
$ python test.py [23:23:25] Traceback (most recent call last): File "test.py", line 7, in <module> chat = [c for c in skype.Chats if c.Topic == u'新しい部屋'][0] IndexError: list index out of range
どうも部屋が見つからない、という感じのようですね。attachでコケてないのはちょっと謎ですが、昔の部屋には投稿出来てるので6月以降の部屋は、アクセス可能リストみたいなものに載ってない的なやつなんでしょうか。内部実装知らないので適当ですが。
このようにSkypeはプログラマブルなチャットツールでなくなってしまいました。 以前からなかなか使いづらいツールではありましたが、エンジニア向けのツールとは呼べない印象です。
P2P実装からMicrosoftの中央サーバーに移行され、相手がオフライン下でもメッセージを投稿出来たり同期が少し賢くなったりとしているようですが、これからはあまり使いたくないツールです。
とはいえ、アカウントが容易に作成出来、チャットやビデオ通話なども簡単にできるツールとして一般のユースケースでは必要十分ですし、廃れていくことはないのかなという感じ。
エンジニア向けにはSlackやHipChatあたりが無料ユーザー無制限だったりして、APIも手軽に扱えるので流行っていくといいなぁと思います。
MacPortsなしでMacOS X 10.8にZenityをインストールしようとしたら頓挫したけど出来た
こんなの書いた。
MacPortsなしでMacOS X 10.8にZenityをインストールしようとしたら頓挫 - /dev/null
この後出来た。
前回はmake時に
Making all in help /bin/sh: scrollkeeper-config: command not found /bin/sh: scrollkeeper-config: command not found The file '/Templates/C/scrollkeeper_cl.xml' does not exist. Please check your ScrollKeeper installation. make[2]: *** [zenity-C.omf] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
で止まっていた。
scrollkeeperで死んでたので安直にconfigure時にdisableする。
./configure --disable-scrollkeeper
でmakeすると通る。
最後にsudo make install
インストール出来たら起動してみる
$ wintricks
こっからどうすればいいのかはまた別の話っぽい。