2017-05-02 29 views
2

我正在使用一個Rails項目,該項目使用flexicious-react-datagridflexicious-react-datagrid-styles節點模塊。這些模塊在package.json中引用爲:Rails項目中的節點模塊可能會緩存舊版本?

"dependencies": { 
... 
"flexicious-react-datagrid": "file:./npm_libs/flexicious-react-datagrid", 
"flexicious-react-datagrid-styles": "^1.2.0", 
... 
} 

我遇到的問題是手動將其中一個模塊更新爲許可版本。

public flexicious-react-datagrid模塊是一個試用版,經過一段時間的處理後,它現在已經過期,並在嘗試加載頁面時彈出一個ErrorCode103,並且一些無限循環運行頁面永久停止加載。

Flexicious團隊通過提供包含許可代碼的react-datagrid.min.js文件來提供許可版本。儘管我在節點模塊中將其替換,但錯誤仍然存​​在。

這使得它看起來像緩存舊代碼服務器端,因爲將調用ErrorCode103彈出窗口的代碼應該來自被替換的代碼。我試過在沒有運氣的無痕瀏覽器或其他瀏覽器中加載。

我們的項目使用browserify,我有一些懷疑(但不確定),這可能是什麼緩存模塊。到目前爲止,我還沒有嘗試找到導致此問題的原因。

我的package.json:

{ 
    "name": "redacted", 
    "version": "0.0.1", 
    "description": "redacted", 
    "author": "redacted", 
    "license": "SEE LICENSE IN LICENSE.TXT", 
    "babel": { 
    "comments": false, 
    "presets": [ 
     "es2015", 
     "react" 
    ] 
    }, 
    "devDependencies": { 
    "browserify": "~> 14.0.0", 
    "browserify-incremental": "^3.1.0", 
    "browserify-css": "0.10.0" 
    }, 
    "dependencies": { 
    "babel-core": "^6.0.0", 
    "babel-eslint": "^6.0.4", 
    "babel-loader": "^6.0.0", 
    "babel-polyfill": "^6.3.14", 
    "babel-preset-es2015": "^6.0.15", 
    "babel-preset-react": "^6.0.15", 
    "babelify": "^7.2.0", 
    "bower-webpack-plugin": "^0.1.9", 
    "codemirror": "^5.22.0", 
    "copy-webpack-plugin": "^4.0.1", 
    "copyfiles": "^0.2.1", 
    "core-js": "^2.4.0", 
    "css-loader": "^0.23.0", 
    "eslint": "^2.0.0", 
    "eslint-loader": "^1.0.0", 
    "eslint-plugin-react": "^5.1.1", 
    "file-loader": "^0.8.4", 
    "flexicious-react-datagrid": "file:./npm_libs/flexicious-react-datagrid", 
    "flexicious-react-datagrid-styles": "^1.2.0", 
    "gh-pages-deploy": "^0.4.0", 
    "glob": "^7.0.0", 
    "history": "^2.1.1", 
    "isparta-instrumenter-loader": "^1.0.0", 
    "jquery-browserify": "*", 
    "material-ui": "^0.16.5", 
    "minimist": "^1.2.0", 
    "mocha": "^2.2.5", 
    "moment": "^2.17.1", 
    "node-sass": "^3.4.2", 
    "normalize.css": "^4.1.1", 
    "null-loader": "^0.1.1", 
    "open": "0.0.5", 
    "postcss": "^5.0.11", 
    "postcss-loader": "^0.9.1", 
    "react": "^15.4.0", 
    "react-addons-test-utils": "^15.4.0", 
    "react-codemirror": "^0.3.0", 
    "react-day-picker": "^5.0.0", 
    "react-dom": "^15.4.0", 
    "react-router": "^2.4.0", 
    "react-tap-event-plugin": "^2.0.0", 
    "recursive-readdir-sync": "^1.0.6", 
    "rimraf": "^2.4.3", 
    "sass-loader": "^3.1.2", 
    "style-loader": "^0.13.0", 
    "url-loader": "^0.5.6" 
    } 
} 

flexicious反應的,數據網格是1.1.6版本,它安裝1.3.8這是我的版本我許可的代碼在./npm_libs/flexicious-react-datagrid內。

即使沒有使用授權代碼,1.3.8也沒有被加載,因爲它仍然給我一個過期試用版的錯誤。

+0

這裏沒有關於'Rails',它全部是關於'nodejs'和'npm'。 –

回答

1

畢竟它是Browserify。我終於偶然發現了緩存版本,它隱藏在項目根目錄下的/tmp/文件夾中。

我可能還會因爲安裝了Sublime中的Gitignored軟件包而失明,因爲它沒有顯示或搜索位於.gitignore文件中的文件/文件夾。我必須刪除該軟件包並在我的崇高設置中編輯我的"folder_exclude_patterns"以重新顯示這些文件夾。

我已經包括將tmp文件夾全部移除到我們的構建過程的一部分,所以我們不再有這個問題。

0

是的,它看起來好像你仍然使用以前安裝的版本flexicious-react-datagrid

第一個猜測是你需要運行npm install ./npm_libs/flexicious-react-datagrid來更新這個模塊。 npm管理器通常會將所有依賴項模塊複製到node_modules dir中,然後node.js使用它來解析require('flexicious-react-datagrid')

+0

我已經運行了'npm install。/ npm_libs/flexicious-react-datagrid',遺憾的是沒有區別。我會用我的package.json依賴項編輯我的原始文章,以防萬一它有幫助。 – UberMario

+0

好吧,在'./npm_libs/flexible-react-datagrid/package.json'中,第二個猜測,'main'字段應該設置爲'dist/react-datagrid.min.js'(許可版本)。如果不是這樣,請嘗試更改它並再次運行npm install。如果這是真的,我會說這個問題在你的構建過程中的某個地方(嘗試從頭開始重建),或者靈活地嘗試通過發送請求到他們的服務器來驗證許可證,但是它失敗了。 – idmitme

相關問題