描述
今天在對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找不到的解決方法