今回ã¯ã€npm周りã®TIPSã§ã™ã€‚特ã«æ–°ã—ã„知見ã§ã¯ãªã„ã®ã§ã™ãŒã€ãƒ¡ãƒ¢ã®ãŸã‚ã«æ›¸ã„ã¦ãŠãã¾ã™ã€‚
node.jsã®ãƒ‘ッケージマãƒãƒ¼ã‚¸ãƒ£ã§ã‚ã‚‹npmã¯ä¾å˜ãƒ‘ッケージã®è§£æ±ºã‚’ã—ã¦ãã‚Œã¾ã™ã€‚ä¾å˜ãƒ‘ッケージã¯ã€package.jsonã«æ›¸ã„ã¦ãŠãã¾ã™ã€‚
例ãˆã°ã€expressを使ã†å ´åˆã€
"dependencies": {
"express": "*"
}
ã®ã‚ˆã†ã«æ›¸ãã¾ã™ã€‚ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã‚’指定ã—ã¦ãŠããŸã„å ´åˆã‚‚ã‚ã‚Šã¾ã™ã€‚
"dependencies": {
"express": "3.1.0"
}
ã®ã‚ˆã†ã«æ›¸ãã¾ã™ã€‚ä»–ã«ã‚‚ä¸ç‰å·ã‚„ãƒãƒ«ãƒ€ã‚’使ã£ã¦ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã®ç¯„囲を書ãã“ã¨ã‚‚ã§ãã¾ã™ã€‚今回ã¯ãã®ã‚ãŸã‚Šã¯è©³ã—ã書ãã¾ã›ã‚“ãŒã€package.jsonã«ã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã®ç¯„囲を書ã„ã¦ãŠãã“ã¨ãŒãŠã™ã™ã‚ã§ã™ã€‚node.js関連ã®ãƒ‘ッケージã¯ã¾ã 発展途上ã§ä»•æ§˜ãŒå¤‰ã‚ã‚‹ã“ã¨ãŒã‚ˆãã‚ã‚‹ã‹ã‚‰ã§ã™ã€‚ãã†ã§ãªãã¦ã‚‚ã€">=3.0.0"ãªã©ã¨æ›¸ã„ã¦ãŠã‘ã°ã€"3.0.0"ã§ã¯å‹•ã„ãŸã®ã ã¨ã„ã†ã“ã¨ãŒåˆ†ã‹ã£ã¦ã‚ˆã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
ã•ã¦ã€æœ¬é¡Œã§ã™ã€‚ä¾å˜ãƒ‘ッケージãŒnpmã«ç™»éŒ²ã•ã‚Œã¦ã„ãªã„å ´åˆã¯ã©ã†ã™ã‚Œã°ã‚ˆã„ã§ã—ょã†ï¼Ÿã€€ä¸€ã¤ã®ç”ãˆã¯ã€ç™»éŒ²ã—ã¦ã—ã¾ãˆã°ã‚ˆã„ã®ã§ã™ã€‚ãŒã€ç™»éŒ²ã—ãŸããªã„å ´åˆã‚‚ã‚ã‚Šã¾ã™ã€‚今回ãã®ã‚ˆã†ãªã‚±ãƒ¼ã‚¹ãŒã‚ã‚Šã¾ã—ãŸã€‚ãã‚Œã¯ã€GitHubã§forkã—ãŸå ´åˆã§ã™ã€‚å°†æ¥çš„ã«ã¯Pull Requestã—ã¦å–り込んã§ã‚‚らã†ã¤ã‚‚ã‚Šãªã‚‰ã€npmã«ç‹¬è‡ªãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’登録ã™ã‚‹ã®ã¯ã†ã¾ãã‚ã‚Šã¾ã›ã‚“。ãã“ã§ã€npmã«ç™»éŒ²ã•ã‚Œã¦ã„ãªã„ã‘ã‚Œã©ã€ä¾å˜ãƒ‘ッケージã¨ã—ã¦ä½¿ã„ãŸã„ã¨ãã«ã©ã†ã™ã‚‹ã‹ã¨ã„ã†è©±ã§ã™ã€‚
GitHubを使ã†ã¨ã—ã¦ã‚‚方法ã¯ï¼’通りã‚ã‚Šã¾ã™ã€‚一ã¤ã¯ã€tarballã§å–å¾—ã™ã‚‹æ–¹æ³•ã€ã‚‚ã†ä¸€ã¤ã¯ã€gitプãƒãƒˆã‚³ãƒ«ã§å–å¾—ã™ã‚‹æ–¹æ³•ã§ã™ã€‚
å‰è€…ã¯ã€
"dependencies": {
"jsdom": "https://github.com/dai-shi/jsdom/tarball/3bb5b24c5e"
}
ã®ã‚ˆã†ã«æ›¸ãã€å¾Œè€…ã¯ã€
"dependencies": {
"jsdom": "git://github.com/dai-shi/jsdom.git#3bb5b24c5e"
}
ã®ã‚ˆã†ã«æ›¸ãã¾ã™ã€‚
ã©ã¡ã‚‰ãŒã„ã„ã®ã§ã—ょã†ï¼Ÿã€€ã‚ˆã分ã‹ã‚Šã¾ã›ã‚“。
試ã—ã«ä¸€å›žã ã‘ã€npm installã®æ™‚間を計測ã—ã¦ã¿ã¾ã—ãŸã€‚
çµæžœã€å‰è€…ãŒ11秒ã€å¾Œè€…ãŒ14秒ã§ã—ãŸã€‚
gitプãƒãƒˆã‚³ãƒ«ã®æ–¹ãŒã‚ªãƒ¼ãƒãƒ˜ãƒƒãƒ‰ãŒã‚ã‚‹ã®ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
httpプãƒã‚ã‚·ã—ã‹ä½¿ãˆãªã„å ´åˆã¯ã€å‰è€…ã«æ±ºã¾ã‚Šã§ã™ã。
GitHubãŒtarballã®URLを廃æ¢ã—ãŸã‚‰ï¼ˆZIPã®URLã¯ãƒªãƒ³ã‚¯ãŒã‚ã‚Šã¾ã™ãŒã€tarballã£ã¦ã©ã“ã¾ã§ã‚ªãƒ•ã‚£ã‚·ãƒ£ãƒ«ãªã®ã§ã—ょã†ï¼Ÿï¼‰ã€å¾Œè€…ã«æ±ºã¾ã‚Šã§ã™ã。
今ã®ã¨ã“ã‚ã¯ã©ã¡ã‚‰ã§ã‚‚よã„ã®ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
10/20追記。
"https://github.com/dai-shi/jsdom/tarball/3bb5b24c5e"
ã®ä»£ã‚ã‚Šã«ã€
"https://github.com/dai-shi/jsdom/archive/3bb5b24c5e.tar.gz"
ã¨æ›¸ã方法もã‚るよã†ã§ã™ã€‚ã“ã£ã¡ã®æ–¹ãŒã‚ªãƒ•ã‚£ã‚·ãƒ£ãƒ«ãªæ„Ÿã˜ãŒã—ã¾ã™ã。