Linux中npm出現npmlog找不到的解決方法

foreverpx發表於2014-11-29

Linux中npm出現npmlog找不到的解決方法

描述

今天在對nodejs專案進行伺服器遷移的時,在新的linux伺服器上輸入 npm -v 命令後報 “cannot find module ‘npmlog’….”的錯誤。找到的原因是拷貝過去的bin目錄下的npm檔案並沒有連結到module目錄下的npm-cli.js檔案,所以導致在執行 npm -v 命令時,路徑問題導致npmlog模組無法找到。

解決方法

解決的方法有兩個,一個是刪除bin目錄下的npm檔案,並用如下命令連結到npm-cli.js

1
ln -s ../lib/node_modules/npm/bin/npm-cli.js

經過試驗發現,在伺服器外解壓縮nodejs官網下載的編譯好的壓縮包,再將解壓的檔案拷貝到伺服器上時,bin下的npm是沒有連結到npm-cli.js的。

第二種方式是將下載好的node-v0.10.33-linux-x64.tar.gz壓縮包先放置在伺服器上,再進行解壓縮,此時npm是已經連結到npm-cli.js的。

看到命令列中顯示如下則為成功。

1
2
3
4
5
[root@linux bin]# ll
npm -> ../lib/node_modules/npm/bin/npm-cli.js
[root@linux bin]# ./npm -v
v1.4.26

這兩種拷貝方式導致不同的情況的原因不詳,有待考究。

文章作者:foreverpx
文章原文連結:Linux中npm出現npmlog找不到的解決方法

相關文章